begin process at 2012 02 12 18:57:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > GESTION DE CD AVEC SAUVEGARDE DES DONNÉES

GESTION DE CD AVEC SAUVEGARDE DES DONNÉES


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :4 117 / 226

Auteur : victorcoasne

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (10)
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


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

HISTO RIQUE DES MODIFICATIONS :

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


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


Me rci de donner votre note ainsi que mettre vos commentaires !!!

 Fichier Zip

Les Membres Club peuvent 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

 Sources du même auteur

Source avec Zip Source avec une capture [DEV-C++] GESTION DU PORT PARALLÈLE
Source avec Zip Source avec une capture [DEV-C++] FENETRE TRANSPARENTE ET NON RECTANGULAIRE
Source avec Zip Source avec une capture HOOK CLAVIER AVEC DLL EN C++ [DEV-C++]
Source avec Zip Source avec une capture [SOCKET NON CONNECTE] ECHANGE DE FICHIERS (CLIENT/SERVEUR) [...
Source avec Zip Source avec une capture ENVOI/RÉCEPTION DE FICHIERS (CLIENT/SERVEUR) [DEV-C++]

 Sources de la même categorie

Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro
Source avec Zip Source avec une capture SHOP MANAGER CONSOLE SUR WINDOWS par antho974
Source avec Zip JOUR DE NAISSANCE par fredg19

Commentaires et avis

Commentaire de Xs le 02/06/2004 19:01:56

Pas mal du tout pour un premier programme.

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...

@+

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 !

Commentaire de Bombela le 04/06/2004 15:49:39

OK !

Commentaire de victorcoasne le 04/06/2004 18:51:25

C'est fait !

Autre chose ?

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...

@+

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é.

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 ;)

@+

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.

Commentaire de devacid le 05/07/2011 12:29:31 1/10

Bof

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,137 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales