#include #include #define N 50 #define NB_PISTE_MAX 50 int nbCD=5; //defini le nbr de CD dans la cdthèque struct cd //Structure definissant les infos pour un CD { char album[50]; char artiste[50]; char titre[NB_PISTE_MAX][50]; int nb_piste; //nbr de pistes max entrée dans l'album int dispo; //variable de presence du CD dans la cdthèque }; void printCD(struct cd monCD) //fct pour l'affichage des titres d'un CD { int j,t; printf ("\n --> "); printf (" %s \n", monCD.album); // on fait defiler d'abord tous les albums, en affichant printf (" %s \n", monCD.artiste); //les noms d'albums ensuite les artistes puis les titres d'albums printf ("Il y %d pistes dans cet album \n", monCD.nb_piste); //les noms d'albums ensuite les artistes puis les titres d'albums //avec choix du nbr de titres a afficher printf ("\n Combien de titres à afficher? \n"); scanf ("%d", &t); if (monCD.nb_piste > t) { for (j=0; j>Le CD est emprunté \n", monCD.dispo); } if (monCD.dispo==1) { printf ("\n >>Le CD est disponible \n", monCD.dispo); } } void printCD_suppr (struct cd monCD[], int num_cd) { int suppr; int j; j=0; printf ("\n --> "); printf (" %s \n", monCD[num_cd].album); // on fait defiler d'abord tous les albums, en affichant printf (" %s \n", monCD[num_cd].artiste); //les noms d'albums ensuite les artistes puis les titres d'albums printf ("Il y %d pistes dans cet album \n", monCD[num_cd].nb_piste); //les noms d'albums ensuite les artistes puis les titres d'albums //avec choix du nbr de titres a afficher printf ("\n Etes vous sur de vouloir supprimer le CD? \n"); printf("Tapez 0 pour annuler la supression. \nTapez 1 pour confirmer la supression \n"); scanf ("%d", &suppr); if (suppr==1) { for (j=num_cd; j "); printf (" %s \n", monCD[i].album); // on fait defiler d'abord tous les albums, en affichant printf (" %s \n", monCD[i].artiste); //les noms d'albums ensuite les artistes puis les titres d'albums printf ("Il y %d pistes dans cet album \n", monCD[i].nb_piste); //les noms d'albums ensuite les artistes puis les titres d'albums //avec choix du nbr de titres a afficher if (monCD[i].dispo==0) { printf ("\n >>Le CD est emprunté \n", monCD[i].dispo); } if (monCD[i].dispo==1) { printf ("\n >>Le CD est disponible \n", monCD[i].dispo); printf ("Désirez vous l'emprunter? \n Tapez 0 pour ne pas l'emprunter. \n Tapez 1 pour emprunter le CD. \n%"); scanf ("%d",&e); if (e==1) { monCD[i].dispo=0; printf ("\n Le CD est maintenant emprunté \n"); /*!!!! PB !!!! La valeur de dispo ne change pas réellement*/ /*!!! Au retour dans le menu, ca n'a pas changé !!!!!*/ } if (e==0) { printf ("%d", e); } } } void print_tab(struct cd tab[]) //lance la procedure d'affichage de toutes la structure, soit ts les cd { int i; for (i=0; iafficher les cd didpo ou les cd emprunte!! do //boucle de menu { printf ("\n *MENU* \n Que voulez vous faire? \n \n"); printf ("Afficher tous les cds, tapez 1. \n"); printf ("Effectuer une recherche d'artiste ou d'albums à l'aide de la 1ère lettre, tapez 2. \n"); printf ("Effectuer une recherche d'artiste ou d'albums à l'aide du début du nom, tapez 3. \n"); printf ("Effectuer un emprunt, tapez 4. \n"); printf ("Supprimer un CD, tapez 5. \n"); printf ("quitter la cdthèque, tapez 0. \n"); scanf ("%d",&a); if (a==1) { printf ("\n Tous les albums \n"); print_tab(tab_cd); } if (a==2) { printf ("\n Recherche par: \n Album, tapez 0 \n Artiste, tapez 1 \n"); scanf ("%d",&k); if (k==0) { printf ("\n entrez la 1ere lettre de l'album recherché :\n (attention: tous les albums commencent par une majuscule!!) \n"); scanf (" %c", &c); print_tab_test_A (tab_cd, c); } if (k==1) { printf ("\n entrez la 1ere lettre de l'artiste recherché :\n (attention tous les noms d'artistes commencent par une majuscule!!) \n"); scanf (" %c", &c); print_tab_test2_A (tab_cd, c); } } if (a==3) { printf ("\n Recherche par: \n Album, tapez 0 \n Artiste, tapez 1 \n"); scanf ("%d",&k); if (k==0) { printf ("\n entrez le début du nom de l'album recherché :\n (attention: tous les albums commencent par une majuscule!!) \n"); scanf (" %s", &r); taille=strlen(r); print_tab_test_C (tab_cd, r, taille); } if (k==1) { printf ("\n entrez le début du nom de l'artiste recherché :\n (attention tous les noms d'artistes commencent par une majuscule!!) \n"); scanf (" %s", &r); taille=strlen(r); print_tab_test2_C (tab_cd, r, taille); } } if (a==4) { printf ("\n Recherche le CD à emprunté par: \n Album, tapez 0 \n Artiste, tapez 1 \n"); scanf ("%d",&k); if (k==0) { printf ("\n entrez le début du nom de l'album recherché :\n (attention: tous les albums commencent par une majuscule!!) \n"); scanf (" %s", &r); taille=strlen(r); print_tab_test_B (tab_cd, r, taille); } if (k==1) { printf ("\n entrez le début du nom de l'artiste recherché :\n (attention tous les noms d'artistes commencent par une majuscule!!) \n"); scanf (" %s", &r); taille=strlen(r); print_tab_test2_B (tab_cd, r, taille); } } if (a==5) { printf ("\n Recherche le CD à supprimer par: \n Album, tapez 0 \n Artiste, tapez 1 \n"); scanf ("%d",&k); if (k==0) { printf ("\n entrez le début du nom de l'album recherché :\n (attention: tous les albums commencent par une majuscule!!) \n"); scanf (" %s", &r); taille=strlen(r); print_tab_test_D (tab_cd, r, taille); } if (k==1) { printf ("\n entrez le début du nom de l'artiste recherché :\n (attention tous les noms d'artistes commencent par une majuscule!!) \n"); scanf (" %s", &r); taille=strlen(r); print_tab_test2_D (tab_cd, r, taille); } } } while (a!=0); }