Gestionnaire de bibliotheque

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 368 fois - Téléchargée 19 fois

Contenu du snippet

C'est un programme qui à pour but de gérer les bouquins dans une bibliothèque
dans ce programme, il y a une petite particularité que je voudrais signaler : c'est que le nombre de bouquin n'augmente qu'après confirmation de l'utilisateur

Source / Exemple :


/*
  Name: bilblio gestionner progect 
  Copyright: all right reserved (°c)2009 by Anon_inc.
  Author: anass hajji
  Date: 13/01/10 23:37
  Description: devoir de gestion de bibliothèque

  • /
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <dos.h> #include <string.h> typedef struct { int jour; int mois; int annee; }date; typedef struct bib { int isbn; char titre[81]; char auteur[81]; char editeur[81]; float prix; date day; }bib; int recherche(bib t[],int n,int x); void cadre(int dc,int fc,int dl,int fl,int c) { int i; textcolor(c); gotoxy(dc,dl); cprintf("É"); gotoxy(dc,fl); cprintf("È"); gotoxy(fc,dl); cprintf("»"); gotoxy(fc,fl); cprintf("&#188;"); for(i=dl+1;i<fl;i++) { gotoxy(dc,i); cprintf("º"); gotoxy(fc,i); cprintf("º"); } for(i=dc+1;i<fc;i++) { gotoxy(i,dl); cprintf("Í"); gotoxy(i,fl); cprintf("Í"); } } void menu(); void remplissage(bib t[],int* n) { int j;float x; int i1; do { clrscr(); printf("bouquin numero %d",*n); getch(); clrscr(); cadre(5,75,3,36,2); gotoxy(21,20);puts("ISBN :"); gotoxy(21,22);puts("TITRE :"); gotoxy(21,24);puts("AUTEUR :"); gotoxy(21,26);puts("EDITEUR :"); gotoxy(21,28);puts("PRIX :"); gotoxy(21,30);puts("DATE EDITION:"); do{gotoxy(34,20);clreol();scanf("%d",&t[*n].isbn);}while(recherche(t,*n,t[*n].isbn)!=0); do{gotoxy(34,22);clreol();scanf("%s",t[*n].titre);}while(strlen(t[*n].titre)>20);fflush(stdin); do{gotoxy(34,24);clreol();scanf("%s",t[*n].auteur);}while(strlen(t[*n].auteur)>20);fflush(stdin); do{gotoxy(34,26);clreol();scanf("%s",t[*n].editeur);}while(strlen(t[*n].editeur)>20);fflush(stdin); gotoxy(34,28);scanf("%f",&x);t[*n].prix=x; do{gotoxy(34,30);clreol();scanf("%d%d%d",&t[*n].day.jour,&t[*n].day.mois,&t[*n].day.annee);}while(t[*n].day.jour<=0||t[*n].day.jour>31||t[*n].day.mois<=0||t[*n].day.mois>12); gotoxy(34,31);printf("continuer(1/0)?"); gotoxy(48,31);scanf("%d",&j);
  • n+=1;
}while(j!=0||*n>100);//i&#8225;i,on suppose que notre gestionnaire ne peut supporter plus que 100 bouquins menu(); }//fin de gestion de remplissage void tri_auteur(bib t[],int n) { int i,j; bib x; for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(strcmp(t[i].auteur,t[j].auteur)>0) { x=t[i]; t[i]=t[j]; t[j]=x; } } } } void tri_annee(bib t[],int n) { int i,j; bib x; for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(t[i].day.annee>t[j].day.annee||t[i].day.annee%100!=0&&t[i].day.annee%400==100&&t[j].day.annee%100==0&&t[j].day.annee%400!=100)//on a ajouté au controle de l'annee le fait que si la premiere annee est ou non bisextille { x=t[i]; t[i]=t[j]; t[j]=x; if(t[i].day.mois<t[j].day.mois) { x=t[i]; t[i]=t[j]; t[j]=x; } } } } } void aff1(bib t[],int *n) { int i; clrscr(); tri_auteur(t,*n); for(i=0;i<=*n;i++) { gotoxy(21,20);puts("ISBN :"); gotoxy(21,22);puts("TITRE :"); gotoxy(21,24);puts("AUTEUR :"); gotoxy(21,26);puts("EDITEUR :"); gotoxy(21,28);puts("PRIX :"); gotoxy(21,30);puts("DATE D'EDITION:"); gotoxy(34,20);printf("%d",t[i].isbn); gotoxy(34,22);puts(t[i].titre); gotoxy(34,24);puts(t[i].auteur); gotoxy(34,26);puts(t[i].editeur); gotoxy(34,28);printf("%f",t[i].prix); gotoxy(34,30);printf("%d/%d/%d",t[i].day.jour,t[i].day.mois,t[i].day.annee); getch(); } printf ("retour au menu principale dans 3sec!!"); delay(3000); } void aff2(bib t[],int *n) { int i; clrscr(); tri_annee(t,*n); for(i=0;i<*n;i++) { gotoxy(21,20);puts("ISBN :"); gotoxy(21,22);puts("TITRE :"); gotoxy(21,24);puts("AUTEUR :"); gotoxy(21,26);puts("EDITEUR :"); gotoxy(21,28);puts("PRIX :"); gotoxy(21,30);puts("DATE D'EDITION:"); gotoxy(34,20);printf("%d",t[i].isbn); gotoxy(34,22);puts(t[i].titre); gotoxy(34,24);puts(t[i].auteur); gotoxy(34,26);puts(t[i].editeur); gotoxy(34,28);printf("%f",t[i].prix); gotoxy(34,30);printf("%d/%d/%d",t[i].day.jour,t[i].day.mois,t[i].day.annee); getch(); } printf("retour au menu principale dans 3sec!"); delay(3000); } int recherche2(bib t[],int n,int x); int recherche(bib t[],int n,int x) { int i,j,find=0; for(i=0;i<n;i++) { if(t[i].isbn==x){find=1;break;} } return find; } int recherche2(bib t[],int n,int x) { int i,j,find=0; for(i=0;i<n;i++) { if(t[i].isbn==x){find=i;break;} } return find; } void add(bib t[],int *n) { remplissage(t,n); menu(); } void sup(bib t[],int *n,int num) { int i; int find; clrscr(); if(*n==0){clrscr();printf ("rien &#8230; supprimer");} else { clrscr(); find=recherche2(t,*n,num); if(find==0) {clrscr();printf("element introuvable...impossible de supprimer");} else { for(i=find;i<*n;i++) t[i]=t[i+1];
  • n=*n-1;
printf("&#8218;l&#8218;ment supprim&#8218; avec succŠs"); } } } void modif(bib t[],int n,int x) { int i,found;float price; found=recherche(t,n,x); clrscr(); if(found==0){clrscr();system("PAUSE");} else { gotoxy(40,33);puts("entrer votre prix:"); gotoxy(58,33);scanf("%f",&price); t[found].prix=price; } } void menu() { //declaration des variables necessaires au traitement bib t[100]; int i; int x; int isbn1; int choix,CC; int r;//recherche de l'isbn en cas de modification du prix d'un bouquin char menu2[2][81]={"1-Par auteur","2-Par annee"}; char men[5][81]={"1-Remplissage.","2-Affichage.","3-Tri(par auteur/par annee).","4-Recherche.","5-Mises à jour"}; char menu3[2][81]={"1-Par auteur.","2-Par date."}; char menu4[3][81]={"1-Ajout bouquin.","2-Suppression bouquin.","3-modification prix."}; int leprix; int C1,C2,C3; int n;n=0; //debut de traitement clrscr(); cadre(5,75,3,36,1);//construction du cadre du menu principal-->remarque:la même fct de cadre sera appelée +rs fois for(i=0;i<5;i++) {gotoxy(i+10,4*i+10);puts(men[i]);} gotoxy(40,33);printf ("entrer votre choix:"); gotoxy(59,33);scanf("%d",&choix); switch(choix) { case 1:clrscr(); cadre(5,75,3,36,1); gotoxy(21,20); remplissage(t,&n); menu(); break; case 2:clrscr(); cadre(5,75,3,36,1); for(i=0;i<2;i++) {gotoxy(i+10,4*i+10);puts(menu2[i]);} gotoxy(40,33); puts("entrer votre choix:"); gotoxy(59,33); scanf("%d",&C1); switch(C1) { case 1:aff1(t,&n); menu(); break; case 2:aff2(t,&n); menu(); break; } break; case 3:clrscr(); cadre(5,75,3,36,1); for(i=0;i<2;i++) {gotoxy(i+10,4*i+10);puts(menu3[i]);} gotoxy(40,33);puts("entrer votre choix:"); gotoxy(59,33);scanf("%d",&C2); switch(C2) { case 1:tri_auteur(t,n); menu(); break; case 2:tri_annee(t,n); menu(); break; } break; case 4:clrscr(); gotoxy(40,25);puts("entrer isbn:"); gotoxy(53,25);scanf("%d",&x); CC=recherche2(t,n,x); printf("%d",CC); if(CC==x) printf("bouquin TROUVE"); else if(CC==0)printf("bouquin introuvable!!"); getch(); menu(); break; case 5:clrscr(); cadre(5,75,3,36,1); for(i=0;i<3;i++) {gotoxy(i+10,4*i+10);puts(menu4[i]);} gotoxy(40,33);puts("entrer votre choix:"); scanf("%d",&C3); switch(C3) { case 1:clrscr(); cadre(5,75,3,36,1); add(t,&n); menu(); break; case 2:clrscr(); cadre(5,75,3,36,1); clrscr(); gotoxy(30,25); printf("entrer l'isbn:"); gotoxy(44,25);scanf("%d",&isbn1); sup(t,&n,isbn1); menu(); break; case 3:clrscr(); cadre(5,75,3,36,1); clrscr(); gotoxy(31,25); printf("entrer le prix:"); gotoxy(44,25);scanf("%d",&leprix); clrscr(); gotoxy(31,25); puts("entrer isbn:"); gotoxy(44,25);scanf("%d",&isbn1); r=recherche(t,n,isbn1); if(r){ modif(t,n,leprix); printf("prix modifié avec succes"); getch(); } else {clrscr(); getch();} menu(); } getch(); menu(); break; } } void main() { clrscr(); menu(); getch(); }

A voir également

Ajouter un commentaire

Commentaires

tres bien
Messages postés
8
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
1 avril 2013

merci pour le code , mais j'ai une problème : la fonction "delay " n'est pas reconnu , quoi faire !!svp
Messages postés
1
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juillet 2010

gdgdfhg
Messages postés
3
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
22 avril 2010

merciiiiii eishtein :)
Messages postés
52
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
23 janvier 2014

Je pense qu'il suffit de telecharger le logiciel de conversion de C++versVB ... il est disponible est çà ne prend que quelques minutes
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.