Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question//************ declaration des structures ************ typedef struct struct_document { int code_doc; char titre_doc[40]; char auteur_doc[40]; }document; typedef struct struct_lecteur { int code_lec; char nom[40]; char prenom[40]; }lecteur; typedef struct struct_date { int jour,mois,annee; }date; typedef struct struct_pret { int code_doc; char titre_doc[40]; char auteur_doc[40]; int code_lec; char nom[40]; char prenom[40]; int pret_j, pret_m, pret_a; int retour_j, retour_m, retour_a; }pret;
//Structure générique pour les dates typedef struct _SDate { char day; char month; short year; } SDate; //4 octets //Structure pour le stockage des infos d'un livre typedef struct _SBook { char isbn[14]; char title[60]; char author[50]; char publisher[20]; float price; SDate pubdate; struct _SBook *_next; } SBook;
#include<stdio.h> #include<conio.h> #include<stdlib.h> /*infos livre*/ struct elementlivre { int code; char auteur[20]; char titre[20]; }; typedef struct livre { struct elementlivre infolivre; struct livre *suivant; }maillon; typedef maillon* liste; liste ajout(liste l) {maillon* nv=(maillon*)malloc(sizeof(maillon)); liste tmp=NULL; printf("Entrez le code du livre:"); scanf("%d",&nv->infolivre.code); printf("Entrez le nom de l'auteur:"); scanf("%s",&nv->infolivre.auteur); printf("Entrez le titre du livre:"); scanf("%s",&nv->infolivre.titre); tmp=l; if(l==NULL) { l=nv; nv->suivant=NULL; return l; } else { while(tmp->suivant!=NULL) { tmp=tmp->suivant; } nv->suivant=NULL; tmp->suivant=nv; } return l; } /* infos lecteur*/ struct elementlecteur { char prenom[20]; char nom[20]; }; typedef struct lecteur { struct elementlecteur infolecteur; struct lecteur *suivant2; }maillon2; typedef maillon2* liste2; liste2 ajout2(liste2 m) {maillon2* nv=(maillon2*)malloc(sizeof(maillon2)); liste2 tmp=NULL; printf("Entrez le prenom:"); scanf("%s",&nv->infolecteur.prenom); printf("Entrez le nom:"); scanf("%s",&nv->infolecteur.nom); tmp=m; if(m==NULL) { m=nv; nv->suivant2=NULL; return m; } else { while(tmp->suivant2!=NULL) { tmp=tmp->suivant2; } nv->suivant2=NULL; tmp->suivant2=nv; } return m; } /* supprimer livre*/ maillon* suppression(maillon* l) { int x; maillon *p,*avp; printf("Entrez le code du livre a supprimer:\n"); scanf("%d",&x); if(l==NULL) { printf("La liste est vide\n"); return NULL; } else { p=l; avp=l; while((p->suivant!=NULL)&&(p->infolivre.code!=x)) { avp=p; p=p->suivant; } if(p->suivant==NULL) { printf("Le livre n'exite pas dans la liste\n"); return NULL; } avp->suivant=p->suivant; free(p); return l; } } /* supprimer lecteur*/ maillon2* suppression2(maillon2* m) { char nom[20]; maillon2 *q,*avp; printf("Entrez le nom a supprimer:\n"); scanf("%d",&nom); if(m==NULL) { printf("La liste est vide\n"); return NULL; } else { q=m; avp=m; while((q->suivant2!=NULL)&&(q->infolecteur.nom!=nom)) { avp=q; q=q->suivant2; } if(q->suivant2==NULL) { printf("Le lecteur n'existe pas\n"); return NULL; } avp->suivant2=q->suivant2; free(q); return m; } } /* modifier la bdd livre*/ maillon* modification(maillon* l) {int choix1; printf("Ajout : tapez 1\n"); printf("Suppression : tapez 2\n"); printf("Quitter : tapez 3\n"); printf("Entrez votre choix:"); scanf("%d",&choix1); switch (choix1) { case 1:l=ajout(l); break; case 2:l=suppression(l); break; case 3:exit(0); default: break; } return l; } maillon* listerlivre(maillon* l) { liste temp=l; if(l==NULL) { printf("la liste est vide\n"); return NULL; } while(temp!=NULL) { printf("%d",l->infolivre.code); printf("%s",l->infolivre.auteur[20]); printf("%s",l->infolivre.titre[20]); temp=temp->suivant; } return l; } /* modifier la bdd lecteur*/ maillon2* modification2(maillon2* m) {int choix2; printf("Ajout : tapez 1\n"); printf("Suppression : tapez 2\n"); printf("Quitter : tapez 3\n"); printf("Entrez votre choix:"); scanf("%d",&choix2); switch (choix2) { case 1:m=ajout2(m); break; case 2:m=suppression2(m); break; case 3:exit(0); default: break; } return m; } maillon2* listerlecteur(maillon2* m) { liste2 temp=m; if(m==NULL) { printf("la liste est vide\n"); return NULL; } while(temp!=NULL) { printf("%s",m->infolecteur.prenom[20]); printf("%s",m->infolecteur.nom[20]); temp=temp->suivant2; } return m; } /* ecran d'accueil*/ int main(){ liste l=NULL; liste2 m=NULL; int choix3; printf("Modification des livres : tapez 1\n"); printf("Modification des lecteurs : tapez 2\n"); printf("Liste des livres : tapez 3\n"); printf("Liste des lecteurs : tapez 4\n"); printf("Quitter : tapez 5\n"); printf("Entrez votre choix"); scanf("%d",&choix3); switch(choix3) { case 1:l=modification(l); break; case 2:m=modification2(m); break; case 3:l=liste(l); break; case 4:m=liste2(m); break; case 5:exit(0); default: break; } getch(); return 0; }
while (1) { //Affichage du menu //[...] //Traitement du choix //[...] case 5: break; }N'oublie pas de libérer la mémoire à la fermeture du programme
int main(){ liste l=NULL; liste2 m=NULL; int choix; while (1) { printf("Modification des livres : tapez 1\n"); printf("Modification des lecteurs : tapez 2\n"); printf("Liste des livres : tapez 3\n"); printf("Liste des lecteurs : tapez 4\n"); printf("Quitter : tapez 5\n"); printf("Entrez votre choix"); scanf("%d",&choix); switch(choix) { case 1: l=modification(l); break; case 2: m=modification2(m); break; //case 3: l=liste(l); break; //case 4: m=liste2(m); break; } if (choix3==5) break; } //ICI LIBERATION MEMOIRE getch(); return 0; }