Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GESTION DE CD AVEC SAUVEGARDE DES DONNÉES


Information sur la source

Catégorie :Divers Niveau : Débutant Date de création : 02/06/2004 Date de mise à jour : 24/06/2005 23:39:48 Vu / téléchargé: 3 265 / 201

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Cette application permet de gérer des CD et aussi que lors de sa fermeture sauvegarde les données dans CD.dll et lors de son ouverture les lit.
 

Source

  • #include <iostream.h> // Cout, cin, cerr ... (les flux)
  • #include <conio.h> // Pour textcolor();textbackground();...
  • #include <conio.c> // Le même pour Dev-C++
  • #include <fstream.h> // Pour ifstream et ofstream (fichier)
  • #include <stdlib.h> // Pour system("pause");...
  • #include <string.h> // Manipulation des chaînes de caractères
  • #include <stdio.h>
  • struct gestioncd
  • {
  • char nom[100+1];
  • char desc[100+1];
  • char end[100+1];
  • int qte;
  • };
  • gestioncd cd[1000+1];
  • int nbr=0;
  • int fal=0;
  • char tnom[100+1];
  • char tdesc[100+1];
  • char tend[100+1];
  • int tqte;
  • int cherche(char rdchaine[],char chainear[])
  • {
  • int nbchainear=0;
  • for (int i=0;chainear[i]!='\0';i++){nbchainear++;}
  • int nbrdchaine=0;
  • for (int i=0;rdchaine[i]!='\0';i++){nbrdchaine++;}
  • if (nbchainear>nbrdchaine){return 0;}
  • int y=0;
  • for (int x=0;x<nbrdchaine;x++)
  • {
  • if (rdchaine[x]==chainear[y]){y++;}
  • else
  • {
  • if (y==nbchainear){return 1;}
  • else {y=0;}
  • }
  • }
  • if (y!=nbchainear){return 0;}
  • }
  • int recup()
  • {
  • ifstream fichiero("CD.dll");
  • if (!fichiero){return 0;}
  • char verif[5000+1];
  • double verif2;
  • fichiero >> verif;
  • if (strcmp(verif,"Gestion")!=0){return 0;}
  • fichiero >> verif;
  • if (strcmp(verif,"CD")!=0){return 0;}
  • fichiero >> verif;
  • if (strcmp(verif,"version")!=0){return 0;}
  • fichiero >> verif2;
  • if (verif2!=1.0){return 0;}
  • fichiero >> nbr;
  • for (int i=0;i<nbr;i++)
  • {
  • fichiero >> verif;
  • if (strcmp(verif,"eNOMe")!=0){return 0;}
  • cd[i].nom[0]='\0';
  • for (;strcmp(verif,"eDESCe")!=0;)
  • {
  • fichiero >> verif;
  • if (strcmp(verif,"eDESCe")!=0 && strcmp(verif,"eNULLe")!=0)
  • {
  • strcat(cd[i].nom,verif);
  • strcat(cd[i].nom," ");
  • }
  • }
  • if (strcmp(verif,"eDESCe")!=0){return 0;}
  • cd[i].desc[0]='\0';
  • for (;strcmp(verif,"eENDe")!=0;)
  • {
  • fichiero >> verif;
  • if (strcmp(verif,"eENDe")!=0 && strcmp(verif,"eNULLe")!=0)
  • {
  • strcat(cd[i].desc,verif);
  • strcat(cd[i].desc," ");
  • }
  • }
  • if (strcmp(verif,"eENDe")!=0){return 0;}
  • cd[i].end[0]='\0';
  • for (;strcmp(verif,"eQTEe")!=0;)
  • {
  • fichiero >> verif;
  • if (strcmp(verif,"eQTEe")!=0 && strcmp(verif,"eNULLe")!=0)
  • {
  • strcat(cd[i].end,verif);
  • strcat(cd[i].end," ");
  • }
  • }
  • if (strcmp(verif,"eQTEe")!=0){return 0;}
  • fichiero >> cd[i].qte;
  • }
  • fichiero >> verif;
  • if (strcmp(verif,"eFINe")!=0){return 0;}
  • fichiero.close();
  • return 1;
  • }
  • int sauv()
  • {
  • remove("CD.dll");
  • ofstream fichiers("CD.dll");
  • if (!fichiers){return 0;}
  • fichiers << "Gestion CD version 1.0 " << nbr << " ";
  • for (int i=0;i<nbr;i++)
  • {
  • fichiers << "eNOMe ";
  • if (cd[i].nom[0]=='\0'){fichiers << "eNULLe ";}
  • else {fichiers << cd[i].nom << " ";}
  • fichiers << "eDESCe ";
  • if (cd[i].desc[0]=='\0'){fichiers << "eNULLe ";}
  • else {fichiers << cd[i].desc << " ";}
  • fichiers << "eENDe ";
  • if (cd[i].end[0]=='\0'){fichiers << "eNULLe ";}
  • else {fichiers << cd[i].end << " ";}
  • fichiers << "eQTEe ";
  • fichiers << cd[i].qte << " ";
  • }
  • fichiers << "eFINe";
  • fichiers.close();
  • return 1;
  • }
  • int c=1;int b=15;
  • int trouv(char couleur[100],int *varia)
  • {
  • if (strcmp(couleur,"bleu")==0)
  • {
  • clrscr();
  • cout << "\n\nBleu comment ?\n\n\t- Fonce (f)\n\t- Clair (c)\n\t- Flash (l)\n\t- Turquoise (t)\n\n\t\tVotre choix : ";
  • char choix;
  • cin >> choix;
  • if (choix=='f' || choix=='c' || choix=='t' || choix=='l')
  • {
  • if (choix=='f')*varia=1;
  • if (choix=='c')*varia=9;
  • if (choix=='t')*varia=3;
  • if (choix=='l')*varia=11;
  • return 1;
  • }
  • else cout << "Mauvais choix !";return 0;
  • }
  • if (strcmp(couleur,"blanc")==0){*varia=15;return 1;}
  • if (strcmp(couleur,"vert")==0){
  • clrscr();
  • cout << "\n\nVert comment ?\n\n\t- Clair (c)\n\t- Fonce (f)\n\t- Kaki (k)\n\n\t\tVotre choix : ";
  • char choix;cin >> choix;
  • if (choix=='c'||choix=='f'||choix=='k'){if (choix=='c'){*varia=10;}if (choix=='f'){*varia=2;}if (choix=='k'){*varia=6;}return 1;
  • }
  • else {cout << "Mauvais choix !";return 0;}
  • }
  • if (strcmp(couleur,"rouge")==0)
  • {
  • clrscr();
  • cout << "\n\nRouge comment ?\n\n\t- Rouge (r)\n\t- Bordeau (b)\n\n\t\tVotre choix : ";
  • char choix;cin >> choix;
  • if (choix=='r'||choix=='b'){if (choix=='r') *varia=12;else *varia=4;return 1;}
  • else {cout << "Mauvais choix !";return 0;}
  • }
  • if (strcmp(couleur,"violet")==0){
  • clrscr();
  • cout << "\n\nViolet comment ?\n\n\t- Clair (c)\n\t- Fonce (f)\n\n\t\tVotre choix : ";
  • char choix;cin >> choix;
  • if (choix=='c'||choix=='f'){if (choix=='c') *varia=13;else *varia=5;return 1;}
  • else {cout << "Mauvais choix !";return 0;}
  • }
  • if (strcmp(couleur,"gris")==0)
  • {
  • clrscr();
  • cout << "\n\nGris comment ?\n\n\t- Clair (c)\n\t- Fonce (f)\n\n\t\tVotre choix : ";
  • char choix;cin >> choix;
  • if (choix=='c'||choix=='f'){if (choix=='c') *varia=7;else *varia=8;return 1;}
  • else {cout << "Mauvais choix !";return 0;}
  • }
  • if (strcmp(couleur,"jaune")==0){*varia=14;return 1;}
  • if (strcmp(couleur,"noir")==0){*varia=0;return 1;}
  • }
  • void couleur()
  • {
  • clrscr();
  • gotoxy(10,3);
  • char couleur[100];
  • int trouve=0;
  • while (!trouve)
  • {clrscr();
  • cout << "\n\n\tEntrez la couleur du texte : ";
  • cin.getline(couleur,sizeof(couleur));
  • trouve = trouv(couleur,&c);
  • }
  • trouve=0;
  • while (!trouve)
  • {clrscr();
  • cout << "\n\n\tEntrez la couleur du fond : ";
  • cin.getline(couleur,sizeof(couleur));
  • trouve = trouv(couleur,&b);
  • }
  • }
  • void ajoutcd()
  • {
  • cout << flush;
  • clrscr();
  • if (nbr>(sizeof(cd)-1)){cout << "\n\n\n\tNombre maximal de CD depase !\n\n\n\tAppuyer sur une touche pour revenir au menu";system("pause>nul");return;}
  • cout << "\n\nEntrez le titre du cd numero " << nbr <<" : ";
  • cin.getline(tnom,sizeof(tnom));
  • cout << "\n\nEntrez sa description : ";
  • cin.getline(tdesc,sizeof(tdesc)-1);
  • cout << "\n\nEntrez son endroit de rangement : ";
  • cin.getline(tend,sizeof(tend)-1);
  • cout << "\n\nEntrez la quantite : ";
  • cin >> tqte;
  • char debug[1+1];cin.getline(debug,sizeof(debug));
  • if (cin.fail()){cin.clear();fal=1;}
  • clrscr();
  • cout << "\n\n\tVoici les informations :\n\nNumero du CD : " << nbr;
  • cout << "\n\nNom : " << tnom;
  • cout << "\n\nDescription : " << tdesc;
  • cout << "\n\nEndroit de rangement : " << tend;
  • cout << "\n\nQuantite : " << tqte;
  • cout << "\n\n\nAppuyez sur \"o\" ou \"O\" puis sur entrer pour confirmer sinon Entrer.";
  • textcolor(b);char choix[1+1];cin.getline(choix,sizeof(choix));textcolor(c);
  • if (choix[0]=='o' || choix[0]=='O')
  • {
  • strcpy(cd[nbr].nom,tnom);
  • strcpy(cd[nbr].desc,tdesc);
  • strcpy(cd[nbr].end,tend);
  • cd[nbr].qte=tqte;
  • nbr++;
  • }
  • cout << flush;
  • tnom[0]='\0';
  • tdesc[0]='\0';
  • tend[0]='\0';
  • tqte=0;
  • }
  • void voircd()
  • {
  • clrscr();
  • if (nbr==0)
  • {
  • gotoxy(10,5);cout << "AUCUN CD ENREGISTRE !\n\n\n";
  • cout << "Appuyez sur une touche pour revenir au menu.";
  • system("pause>nul");
  • return;
  • }
  • cout << "VOICI LA LISTE DES CD :\n\n";
  • int limit=0;
  • for (int i=0;i<nbr;i++,limit++)
  • {
  • if (limit>15)
  • {
  • cout <<"\n\nAppuyez sur une touche pour voir la suite";
  • system("pause>nul");
  • clrscr();
  • cout <<"VOICI LA LISTE DES CD (suite):\n\n";
  • limit=0;
  • }
  • cout << "Nom du CD numero "<<i<<" : "<<cd[i].nom<<endl;
  • }
  • cout << "\n\nAppuyez sur une touche pour retourner au menu.";
  • system("pause>nul");
  • return;
  • }
  • void voirnumero()
  • {
  • clrscr();
  • if (nbr==0)
  • {
  • gotoxy(10,5);cout << "AUCUN CD ENREGISTRE !\n\n\n";
  • cout << "Appuyez sur une touche pour revenir au menu.";
  • system("pause>nul");
  • return;
  • }
  • cout << "\n\n\nEntrez le numero : ";int num;cin >> num;char debug[1+1];cin.getline(debug,sizeof(debug));fal=0;
  • if (cin.fail()){cin.clear();fal=1;}
  • if (num>=nbr)
  • {
  • gotoxy(10,5);cout << "\n\nCE CD N\'EXISTE PAS !\n\n\n";
  • cout << "Appuyez sur une touche pour revenir au menu.";
  • system("pause>nul");
  • return;
  • }
  • clrscr();
  • cout << "\n\n\tVoici les informations :\n\nNumero du CD : " << num;
  • cout << "\n\nNom : " << cd[num].nom;
  • cout << "\n\nDescription : " << cd[num].desc;
  • cout << "\n\nEndroit de rangement : " << cd[num].end;
  • cout << "\n\nQuantite : " << cd[num].qte;
  • cout << "\n\n\nAppuyez sur une touche pour retourner au menu.";
  • system("pause>nul");
  • }
  • void modifnum()
  • {
  • clrscr();
  • if (nbr==0)
  • {
  • gotoxy(10,5);cout << "AUCUN CD ENREGISTRE !\n\n\n";
  • cout << "Appuyez sur une touche pour revenir au menu.";
  • system("pause>nul");
  • return;
  • }
  • cout << "\n\n\nEntrez le numero du CD a modifier : ";
  • int num;cin >> num;char debug[1+1];cin.getline(debug,sizeof(debug));
  • fal=0;if (cin.fail()){cin.clear();fal=1;}
  • if (num>=nbr)
  • {
  • gotoxy(10,5);cout << "\n\nCE CD N\'EXISTE PAS !\n\n\n";
  • cout << "Appuyez sur une touche pour revenir au menu.";
  • system("pause>nul");
  • return;
  • }
  • clrscr();
  • cout << "Entrez les informations concernant le CD a modifier.\n";
  • cout << "Si le champ est vide il sera considere comme inchange\n";
  • cout << "Sauf pour la quantitee qui est obligatoire !\n\n";
  • cout << "\n\nEntrez le titre du cd numero " << num <<" : ";
  • cin.getline(tnom,sizeof(tnom));
  • cout << "\n\nEntrez sa description : ";
  • cin.getline(tdesc,sizeof(tdesc)-1);
  • cout << "\n\nEntrez son endroit de rangement : ";
  • cin.getline(tend,sizeof(tend)-1);
  • cout << "\n\nEntrez la quantite : ";
  • cin >> tqte;cin.getline(debug,sizeof(debug));
  • fal=0;if (cin.fail()){cin.clear();fal=1;}
  • clrscr();
  • cout << "\n\n\tVoici les informations change sur le CD numero : " << num;
  • cout << "\n";
  • if (tnom[0]!='\0')cout << "\n\nNom : " << tnom;
  • if (tdesc[0]!='\0')cout << "\n\nDescription : " << tdesc;
  • if (tend[0]!='\0')cout << "\n\nEndroit de rangement : " << tend;
  • cout << "\n\nQuantite : " << tqte;
  • cout << "\n\n\nAppuyez sur \"o\" ou \"O\" puis sur entrer pour confirmer sinon Entrer.";
  • textcolor(b);
  • char choix[1+1];cin.getline(choix,sizeof(choix));textcolor(c);
  • if (choix[0]=='o' || choix[0]=='O')
  • {
  • if (tnom[0]!='\0')strcpy(cd[num].nom,tnom);
  • if (tdesc[0]!='\0')strcpy(cd[num].desc,tdesc);
  • if (tend[0]!='\0')strcpy(cd[num].end,tend);
  • cd[num].qte=tqte;
  • }
  • cout << flush;
  • tnom[0]='\0';
  • tdesc[0]='\0';
  • tend[0]='\0';
  • tqte=0;
  • }
  • void supp()
  • {
  • nbr=0;
  • }
  • void rech()
  • {
  • clrscr();
  • char bb[100+1];
  • cout << "\n\n\n\nEntrez le mot ou le morceau de mot a rechercher : ";
  • cin.getline(bb,sizeof(bb));
  • int nbfois=0;
  • for (int i=0;i<nbr;i++)
  • {
  • int result=cherche(cd[i].nom,bb);
  • if (result)
  • {
  • if (!nbfois)
  • {
  • clrscr();cout << "\tRESULTAT DE LA RECHERCHE : \n\n" ;nbfois++;
  • }
  • if (nbfois>=15)
  • {
  • cout << "\n\nAppuyez sur une touche pour la suite...";
  • system("pause>nul");clrscr();
  • cout << "\tRESULTAT DE LA RECHERCHE (suite)";nbfois=1;
  • }
  • cout << "Num\x82ro : " << i << "\tnom : " << cd[i].nom << endl;
  • }
  • }
  • if (!nbfois)
  • {
  • cout << "\n\n\nAUCUN OBJET TROUVE !\n\n";
  • }
  • cout << "Appuyez sur une touche pour retourner au menu";
  • system("pause>nul");
  • }
  • int main()
  • {
  • int succes;
  • succes=recup();
  • if (!succes){textcolor(12);textbackground(15);clrscr();cout << "Erreur dans la recuperation des donnees !";system("pause>nul");}
  • while(1)
  • {
  • succes=sauv();
  • if (!succes){textcolor(12);textbackground(15);clrscr();cout << "Erreur dans la sauvegarde des donnees !";system("pause>nul");}
  • fal=0;if (cin.fail()){cin.clear();fal=1;}
  • textcolor(c);textbackground(b);clrscr();
  • cout << "\n\n\tBienvenu dans le programme de gestion de CD\n\n\n";
  • cout << "\tQue voulez-vous faire ?\n";
  • cout << "\n\t\t- Ajouter un CD (a)(A)";
  • cout << "\n\t\t- Voir un cd avec le numero (n)ou(N)";
  • cout << "\n\t\t- Voir tous les CD (v)ou(V)";
  • cout << "\n\t\t- Modifier un CD avec le numero (m)ou(M)";
  • cout << "\n\t\t- Supprimer toute les donnees (s) ou (S)";
  • cout << "\n\t\t- Rechercher parmi les noms (r) ou (R)";
  • cout << "\n\t\t- Changer la couleur de fond et du texte (c)ou(C)";
  • cout << "\n\t\t- Quitter (q)(Q)";
  • cout << "\n\n\t\t\tVotre choix : ";
  • char choix[1+1];cin.getline(choix,sizeof(choix));
  • switch (choix[0])
  • {
  • case 'r' :
  • case 'R' : rech();break;
  • case 's' :
  • case 'S' : supp();break;
  • case 'm' :
  • case 'M' : modifnum();break;
  • case 'n' :
  • case 'N' : voirnumero();break;
  • case 'v' :
  • case 'V' : voircd();break;
  • case 'A' :
  • case 'a' : ajoutcd();break;
  • case 'C' :
  • case 'c' : couleur();break;
  • case 'q' :
  • case 'Q' : return 0;
  • default : cout << "\n\nMauvais choix !\n\nAppuyez sur une touche pour retaper le choix";system("pause>nul");break;
  • }
  • }
  • }
#include <iostream.h> // Cout, cin, cerr ... (les flux)
#include <conio.h> // Pour textcolor();textbackground();...
#include <conio.c> // Le même pour Dev-C++
#include <fstream.h> // Pour ifstream et ofstream (fichier)
#include <stdlib.h> // Pour system("pause");...
#include <string.h> // Manipulation des chaînes de caractères
#include <stdio.h>


struct gestioncd
{
char nom[100+1];
char desc[100+1];
char end[100+1];
int qte;
};

gestioncd cd[1000+1];
int nbr=0;
int fal=0;

char tnom[100+1];
char tdesc[100+1];
char tend[100+1];
int tqte;

int cherche(char rdchaine[],char chainear[])
{
int nbchainear=0;
for (int i=0;chainear[i]!='\0';i++){nbchainear++;}
int nbrdchaine=0;
for (int i=0;rdchaine[i]!='\0';i++){nbrdchaine++;}
if (nbchainear>nbrdchaine){return 0;}
int y=0;
for (int x=0;x<nbrdchaine;x++)
{
    if (rdchaine[x]==chainear[y]){y++;}
    else 
    {
        if (y==nbchainear){return 1;}
        else {y=0;}
    }
}
if (y!=nbchainear){return 0;}
}

int recup()
{
    ifstream fichiero("CD.dll");
    if (!fichiero){return 0;}
    char verif[5000+1];
    double verif2;
    fichiero >> verif;
    if (strcmp(verif,"Gestion")!=0){return 0;}
    fichiero >> verif;
    if (strcmp(verif,"CD")!=0){return 0;}
    fichiero >> verif;
    if (strcmp(verif,"version")!=0){return 0;}
    fichiero >> verif2;
    if (verif2!=1.0){return 0;}
    fichiero >> nbr;
    for (int i=0;i<nbr;i++)
    {
        fichiero >> verif;
        
        if (strcmp(verif,"eNOMe")!=0){return 0;}
        
        cd[i].nom[0]='\0';
        
        for (;strcmp(verif,"eDESCe")!=0;)
        {
        
            fichiero >> verif;
            
            if (strcmp(verif,"eDESCe")!=0 && strcmp(verif,"eNULLe")!=0)
            {
                        strcat(cd[i].nom,verif);
                        strcat(cd[i].nom," ");
            }
            
        }
    
        if (strcmp(verif,"eDESCe")!=0){return 0;}

        cd[i].desc[0]='\0';
        
        for (;strcmp(verif,"eENDe")!=0;)
        {
        
            fichiero >> verif;
            
            if (strcmp(verif,"eENDe")!=0 && strcmp(verif,"eNULLe")!=0)
            {
                        strcat(cd[i].desc,verif);
                        strcat(cd[i].desc," ");
            }
            
        }
        
        if (strcmp(verif,"eENDe")!=0){return 0;}
        
        cd[i].end[0]='\0';
        
        for (;strcmp(verif,"eQTEe")!=0;)
        {
        
            fichiero >> verif;
            
            if (strcmp(verif,"eQTEe")!=0 && strcmp(verif,"eNULLe")!=0)
            {
                        strcat(cd[i].end,verif);
                        strcat(cd[i].end," ");
            }
            
        }
        
        if (strcmp(verif,"eQTEe")!=0){return 0;}
        
        fichiero >> cd[i].qte;
        
    }
    fichiero >> verif;
    if (strcmp(verif,"eFINe")!=0){return 0;}
    fichiero.close();
    return 1;
}

int sauv()
{
    remove("CD.dll");
    ofstream fichiers("CD.dll");
    if (!fichiers){return 0;}
    fichiers << "Gestion CD version 1.0 " << nbr << " ";
    for (int i=0;i<nbr;i++)
    {
    fichiers << "eNOMe ";
    if (cd[i].nom[0]=='\0'){fichiers << "eNULLe ";}
    else {fichiers << cd[i].nom << " ";}
    fichiers << "eDESCe ";
    if (cd[i].desc[0]=='\0'){fichiers << "eNULLe ";}
    else {fichiers << cd[i].desc << " ";}
    fichiers << "eENDe ";
    if (cd[i].end[0]=='\0'){fichiers << "eNULLe ";}
    else {fichiers << cd[i].end << " ";}
    fichiers << "eQTEe ";
    fichiers << cd[i].qte << " ";
    }
    fichiers << "eFINe";
    fichiers.close();
    return 1;
}

int c=1;int b=15;

int trouv(char couleur[100],int *varia)
{
if (strcmp(couleur,"bleu")==0)
{
clrscr();
cout << "\n\nBleu comment ?\n\n\t- Fonce (f)\n\t- Clair (c)\n\t- Flash (l)\n\t- Turquoise (t)\n\n\t\tVotre choix : ";
char choix;
cin >> choix;
if (choix=='f' || choix=='c' || choix=='t' || choix=='l')
{
if (choix=='f')*varia=1;
if (choix=='c')*varia=9;
if (choix=='t')*varia=3;
if (choix=='l')*varia=11;
return 1;
}
else cout << "Mauvais choix !";return 0;
}

if (strcmp(couleur,"blanc")==0){*varia=15;return 1;}

if (strcmp(couleur,"vert")==0){
clrscr();
cout << "\n\nVert comment ?\n\n\t- Clair (c)\n\t- Fonce (f)\n\t- Kaki (k)\n\n\t\tVotre choix : ";
char choix;cin >> choix;
if (choix=='c'||choix=='f'||choix=='k'){if (choix=='c'){*varia=10;}if (choix=='f'){*varia=2;}if (choix=='k'){*varia=6;}return 1;
}
else {cout << "Mauvais choix !";return 0;}
}

if (strcmp(couleur,"rouge")==0)
{
clrscr();
cout << "\n\nRouge comment ?\n\n\t- Rouge (r)\n\t- Bordeau (b)\n\n\t\tVotre choix : ";
char choix;cin >> choix;
if (choix=='r'||choix=='b'){if (choix=='r') *varia=12;else *varia=4;return 1;}
else {cout << "Mauvais choix !";return 0;}
}

if (strcmp(couleur,"violet")==0){
clrscr();
cout << "\n\nViolet comment ?\n\n\t- Clair (c)\n\t- Fonce (f)\n\n\t\tVotre choix : ";
char choix;cin >> choix;
if (choix=='c'||choix=='f'){if (choix=='c') *varia=13;else *varia=5;return 1;}
else {cout << "Mauvais choix !";return 0;}
}


if (strcmp(couleur,"gris")==0)
{
clrscr();
cout << "\n\nGris comment ?\n\n\t- Clair (c)\n\t- Fonce (f)\n\n\t\tVotre choix : ";
char choix;cin >> choix;
if (choix=='c'||choix=='f'){if (choix=='c') *varia=7;else *varia=8;return 1;}
else {cout << "Mauvais choix !";return 0;}
}

if (strcmp(couleur,"jaune")==0){*varia=14;return 1;}
if (strcmp(couleur,"noir")==0){*varia=0;return 1;}
}

void couleur()
{
clrscr();
gotoxy(10,3);
char couleur[100];
int trouve=0;
while (!trouve)
{clrscr();
cout << "\n\n\tEntrez la couleur du texte : ";
cin.getline(couleur,sizeof(couleur));
trouve = trouv(couleur,&c);
}
trouve=0;
while (!trouve)
{clrscr();
cout << "\n\n\tEntrez la couleur du fond : ";
cin.getline(couleur,sizeof(couleur));
trouve = trouv(couleur,&b);
}
}

void ajoutcd()
{
cout << flush;
clrscr();
if (nbr>(sizeof(cd)-1)){cout << "\n\n\n\tNombre maximal de CD depase !\n\n\n\tAppuyer sur une touche pour revenir au menu";system("pause>nul");return;}
cout << "\n\nEntrez le titre du cd numero " << nbr <<" : "; 
cin.getline(tnom,sizeof(tnom));
cout << "\n\nEntrez sa description : ";
cin.getline(tdesc,sizeof(tdesc)-1);
cout << "\n\nEntrez son endroit de rangement : ";
cin.getline(tend,sizeof(tend)-1);
cout << "\n\nEntrez la quantite : ";
cin >> tqte;
char debug[1+1];cin.getline(debug,sizeof(debug)); 
if (cin.fail()){cin.clear();fal=1;}
clrscr();
cout << "\n\n\tVoici les informations :\n\nNumero du CD : " << nbr;
cout << "\n\nNom : " << tnom;
cout << "\n\nDescription : " << tdesc;
cout << "\n\nEndroit de rangement : " << tend;
cout << "\n\nQuantite : " << tqte;
cout << "\n\n\nAppuyez sur \"o\" ou \"O\" puis sur entrer pour confirmer sinon Entrer.";
textcolor(b);char choix[1+1];cin.getline(choix,sizeof(choix));textcolor(c);
if (choix[0]=='o' || choix[0]=='O')
{
strcpy(cd[nbr].nom,tnom);
strcpy(cd[nbr].desc,tdesc);
strcpy(cd[nbr].end,tend);
cd[nbr].qte=tqte;
nbr++;
}
cout << flush;
tnom[0]='\0';
tdesc[0]='\0';
tend[0]='\0';
tqte=0;
}

void voircd()
{
    clrscr();
    if (nbr==0)
    {
        gotoxy(10,5);cout << "AUCUN CD ENREGISTRE !\n\n\n";
        cout << "Appuyez sur une touche pour revenir au menu.";
        system("pause>nul");
        return;
    }
    cout << "VOICI LA LISTE DES CD :\n\n";
    int limit=0;
    for (int i=0;i<nbr;i++,limit++)
    {
        if (limit>15)
        {
                cout <<"\n\nAppuyez sur une touche pour voir la suite";
                system("pause>nul");
                clrscr();
                cout <<"VOICI LA LISTE DES CD (suite):\n\n";
                limit=0;
        }
        cout << "Nom du CD numero "<<i<<" : "<<cd[i].nom<<endl;
    }
    cout << "\n\nAppuyez sur une touche pour retourner au menu.";
    system("pause>nul");
    return;
}

void voirnumero()
{
    clrscr();
    if (nbr==0)
    {
        gotoxy(10,5);cout << "AUCUN CD ENREGISTRE !\n\n\n";
        cout << "Appuyez sur une touche pour revenir au menu.";
        system("pause>nul");
        return;
    }
    cout << "\n\n\nEntrez le numero : ";int num;cin >> num;char debug[1+1];cin.getline(debug,sizeof(debug));fal=0;
    if (cin.fail()){cin.clear();fal=1;}
    if (num>=nbr)
    {
        gotoxy(10,5);cout << "\n\nCE CD N\'EXISTE PAS !\n\n\n";
        cout << "Appuyez sur une touche pour revenir au menu.";
        system("pause>nul");
        return;
    }
    clrscr();
    cout << "\n\n\tVoici les informations :\n\nNumero du CD : " << num;
    cout << "\n\nNom : " << cd[num].nom;
    cout << "\n\nDescription : " << cd[num].desc;
    cout << "\n\nEndroit de rangement : " << cd[num].end;
    cout << "\n\nQuantite : " << cd[num].qte;
    cout << "\n\n\nAppuyez sur une touche pour retourner au menu.";
    system("pause>nul");
}

void modifnum()
{
    clrscr();
    if (nbr==0)
    {
        gotoxy(10,5);cout << "AUCUN CD ENREGISTRE !\n\n\n";
        cout << "Appuyez sur une touche pour revenir au menu.";
        system("pause>nul");
        return;
    }
    cout << "\n\n\nEntrez le numero du CD a modifier : ";
    int num;cin >> num;char debug[1+1];cin.getline(debug,sizeof(debug));
    fal=0;if (cin.fail()){cin.clear();fal=1;}
    if (num>=nbr)
    {
        gotoxy(10,5);cout << "\n\nCE CD N\'EXISTE PAS !\n\n\n";
        cout << "Appuyez sur une touche pour revenir au menu.";
        system("pause>nul");
        return;
    }
    clrscr();
    cout << "Entrez les informations concernant le CD a modifier.\n";
    cout << "Si le champ est vide il sera considere comme inchange\n";
    cout << "Sauf pour la quantitee qui est obligatoire !\n\n";
    cout << "\n\nEntrez le titre du cd numero " << num <<" : "; 
    cin.getline(tnom,sizeof(tnom));
    cout << "\n\nEntrez sa description : ";
    cin.getline(tdesc,sizeof(tdesc)-1);
    cout << "\n\nEntrez son endroit de rangement : ";
    cin.getline(tend,sizeof(tend)-1);
    cout << "\n\nEntrez la quantite : ";
    cin >> tqte;cin.getline(debug,sizeof(debug));
    fal=0;if (cin.fail()){cin.clear();fal=1;}
    clrscr();
    cout << "\n\n\tVoici les informations change sur le CD numero : " << num;
    cout << "\n";
    if (tnom[0]!='\0')cout << "\n\nNom : " << tnom;
    if (tdesc[0]!='\0')cout << "\n\nDescription : " << tdesc;
    if (tend[0]!='\0')cout << "\n\nEndroit de rangement : " << tend;
    cout << "\n\nQuantite : " << tqte;
    cout << "\n\n\nAppuyez sur \"o\" ou \"O\" puis sur entrer pour confirmer sinon Entrer.";
    textcolor(b);
    char choix[1+1];cin.getline(choix,sizeof(choix));textcolor(c);
    if (choix[0]=='o' || choix[0]=='O')
    {
        if (tnom[0]!='\0')strcpy(cd[num].nom,tnom);
        if (tdesc[0]!='\0')strcpy(cd[num].desc,tdesc);
        if (tend[0]!='\0')strcpy(cd[num].end,tend);
        cd[num].qte=tqte;
    }
    cout << flush;
    tnom[0]='\0';
    tdesc[0]='\0';
    tend[0]='\0';
    tqte=0;
}

void supp()
{
nbr=0;
}

void rech()
{
clrscr();
char bb[100+1];
cout << "\n\n\n\nEntrez le mot ou le morceau de mot a rechercher : ";
cin.getline(bb,sizeof(bb));
int nbfois=0;
for (int i=0;i<nbr;i++)
{
    int result=cherche(cd[i].nom,bb);
    if (result)
    {
        if (!nbfois)
        {
                clrscr();cout << "\tRESULTAT DE LA RECHERCHE : \n\n" ;nbfois++;
        }
        
        if (nbfois>=15)
        {
                cout << "\n\nAppuyez sur une touche pour la suite...";
                system("pause>nul");clrscr();
                cout << "\tRESULTAT DE LA RECHERCHE (suite)";nbfois=1;
        }
        
    cout << "Num\x82ro : " << i << "\tnom : " << cd[i].nom << endl;
    
    }
}

if (!nbfois)
{
    cout << "\n\n\nAUCUN OBJET TROUVE !\n\n";
}

cout << "Appuyez sur une touche pour retourner au menu";
system("pause>nul");
}

int main()
{
int succes;
succes=recup();
if (!succes){textcolor(12);textbackground(15);clrscr();cout << "Erreur dans la recuperation des donnees !";system("pause>nul");}
while(1)
{
succes=sauv();
if (!succes){textcolor(12);textbackground(15);clrscr();cout << "Erreur dans la sauvegarde des donnees !";system("pause>nul");}
fal=0;if (cin.fail()){cin.clear();fal=1;}
textcolor(c);textbackground(b);clrscr();
cout << "\n\n\tBienvenu dans le programme de gestion de CD\n\n\n";
cout << "\tQue voulez-vous faire ?\n";
cout << "\n\t\t- Ajouter un CD (a)(A)";
cout << "\n\t\t- Voir un cd avec le numero (n)ou(N)";
cout << "\n\t\t- Voir tous les CD (v)ou(V)";
cout << "\n\t\t- Modifier un CD avec le numero (m)ou(M)";
cout << "\n\t\t- Supprimer toute les donnees (s) ou (S)";
cout << "\n\t\t- Rechercher parmi les noms (r) ou (R)";
cout << "\n\t\t- Changer la couleur de fond et du texte (c)ou(C)";
cout << "\n\t\t- Quitter (q)(Q)";
cout << "\n\n\t\t\tVotre choix : ";
char choix[1+1];cin.getline(choix,sizeof(choix));
switch (choix[0])
{
case 'r' :
case 'R' : rech();break;
case 's' :
case 'S' : supp();break;
case 'm' :
case 'M' : modifnum();break;
case 'n' :
case 'N' : voirnumero();break;
case 'v' :
case 'V' : voircd();break;
case 'A' :
case 'a' : ajoutcd();break;
case 'C' :
case 'c' : couleur();break;
case 'q' :
case 'Q' : return 0;
default : cout << "\n\nMauvais choix !\n\nAppuyez sur une touche pour retaper le choix";system("pause>nul");break;
}
}
}

Conclusion

Bonjour ceci est ma première source alors un peu d'indulgence.

Cette application est fonctionnelle et sans bug connu.
Si vous décelez un bug merci de m'en avertir par mail à webmaster@jscv.com

Cette application permet de gérer des CD et aussi que lors de sa fermeture sauvegarde les données dans CD.dll et lors de son ouverture les lit.
Donc si vous voulez gérer vos CD c'est idéal vu que les donnés sont toujours conservées et que si vous ne supprimez pas les données vous pouvez par exemple continuer le lendemain à faire l'invetaire.

Compilé et testé sous Dev-C++

Amusez-vous bien !


Vous pouvez aussi visiter mon site www.victorlogiciels.com

Coasne Victor (13 1/2 ans au moment de la source) 15 ans


-------------------------------------

HISTORIQUE DES MODIFICATIONS :

Vendredi 4 Juin 2004 -> Ajout du module de recherche dans les noms.


-------------------------------------


Merci de donner votre note ainsi que mettre vos commentaires !!!
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • A LIRE.TXTTélécharger ce fichier [Réservé aux membres club]Voir ce fichier828 octets
  • CD.CPPTélécharger ce fichier [Réservé aux membres club]Voir ce fichier13 566 octets
  • CD.DLLTélécharger ce fichier [Réservé aux membres club]30 octets
  • CD.EXETélécharger ce fichier [Réservé aux membres club]467 700 octets

Télécharger le zip

Historique

01 février 2005 19:03:22 :
24 juin 2005 23:39:48 :
Modif age

Commentaires et avis

signaler à un administrateur
Commentaire de Xs le 02/06/2004 19:01:56

Pas mal du tout pour un premier programme.

signaler à un administrateur
Commentaire de Bombela le 03/06/2004 12:29:20

Un truc bien et facile à faire serait de sauvegarder la structure des dossier et le nom des fichiers de façons à pouvoir faire une recherche de nom de fichier rapide...

@+

signaler à un administrateur
Commentaire de victorcoasne le 04/06/2004 12:19:34

Si j'ai bien compris vous voulez que j'ajoute un module de recherche ?

Je suis en train de le faire !

Je vous averti par un commentaire dès que c'est fait !

signaler à un administrateur
Commentaire de Bombela le 04/06/2004 15:49:39

OK !

signaler à un administrateur
Commentaire de victorcoasne le 04/06/2004 18:51:25

C'est fait !

Autre chose ?

signaler à un administrateur
Commentaire de Bombela le 04/06/2004 20:23:15

Très bien !

Autre chose ! Nan ! Je débute en C ! lol

Donc, je pige pas encroe tout !
Enfin, surtout pour ce qui est du C++ et les libraires...

@+

signaler à un administrateur
Commentaire de victorcoasne le 04/06/2004 22:13:29

Si tu trouve un truc à mettre en plus, à améliorer ou un bug dans le programme tu le dis !


Jeu de mots à prendre au second degréé : Bombela, on va la bomber, bomber, bombela chemiise.


Si tu veux de l'aide tu me contacte par mail (de préférence) ou Message Privé.

signaler à un administrateur
Commentaire de Bombela le 05/06/2004 15:38:28

LOOOOOOOOL ;)

De l'aide ? C'est sympas !
Y a le BAC french pour moi alors peut être pas tout de suite...

Je garde tes coordonnées pour après ;)

@+

signaler à un administrateur
Commentaire de magic_Nono le 13/09/2004 19:57:14

suggestion d'amélioration

utiliser une base de données avec des acces SQL

ça devrai po etre trop du r & C formateur

++
Bon prog sinon...

Nono.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.