|
Trouver une ressource
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
Description
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 !
Télécharger le zip
Historique
- 01 février 2005 19:03:22 :
- 24 juin 2005 23:39:48 :
- Modif age
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Comparez les prix Nouvelle version
|