A function-definition is not allowed here bef

imoum Messages postés 9 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour,
voila mon code
j'ai des problemes svp aidez-moi
HEADER:struct.h
CODE:main.cpp
<code>#include<stdio.h>
#include<conio.h>
#include<string.h>
#include <stdlib.h>
#include <ctype.h>
struct etudiant{
char nom[20];
char prenom[20];
int niveau;
char adresse[50];
int periode;
int nbr_emprunte_par_et;
int et_pocedant_1_l;
char livre_emprunte[30];
};
struct enseignant{
char nom[20];
char prenom[20];
int niveau;
char adresse[50];
int periode;
int nbr_emprunte_par_et;
int et_pocedant_1_l;
char livre_emprunte[30];
};
typedef struct caracteristique{
char titre[30];
char auteur[30];
char edition[30];
int nivo;
int emprunte;
int nbrEmprunte ;
}Reference;
typedef struct domaine{
char nomDomaine[30];
}Domaine;
typedef struct tab{
int nombreLivres;
int emprunteDomaine;
Reference livreDomaine[50];
}TabGestion;

//======================================================================================================================================================
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//--------------------------------------------------------------------------------------
int estDigit(char variable[30])
{
int i;
int nbrCaractere=0;
int entier=0;

for(i=0;i<strlen(variable);i++)
{
if(isdigit(variable[i]))
{
entier++;
}else{
nbrCaractere++;
}
}
if(entier==strlen(variable))
{
return atoi(variable);
}
else
{if(nbrCaractere==1)
printf("\n\aOperation invalide car vous avez introduit un caractere.\n Aucun caractere ne doit figurer dans votre CHOIX. ");
else
printf("\n\aOperation invalide car vous avez introduit %d caracteres.\n Aucun caractere ne doit figurer dans votre CHOIX. ",nbrCaractere);
return -1;
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=======================================================================================================================================================
/*FONCTION POUR ENREGISTRER UN ETUDIANT*/

void enregistre_etudiant( struct etudiant en_liste_etudiant[100],int *en_nbr_etudiant) //*nbr_etudiant est egal nombre d 'etudiant regulier dans l etablissement
{

char en_nom[20],en_prenom[20],en_adresse[50],carChoix1[10];
int i;

if(*en_nbr_etudiant==0)
{
printf("\n\tVOUS ETES SUR LE POINT D\'ENREGISTRER LES L\'ETUDIANTS.\n");
printf("\t--------------------------------------------------\n\n\n");

do{
printf("--> Combien d\'etudiants sont inscrit dans votre etablissement: ");
gets(carChoix1);
*en_nbr_etudiant=estDigit(carChoix1);
if(*en_nbr_etudiant==-1)
printf("\n\n\t--> Entrer une valeur correcte.\n\n");
}while(*en_nbr_etudiant==-1);
for(i=0;i<*en_nbr_etudiant;i++)
{
printf("\n\n\n\n");
printf("\tL\'ETUDIANT %d\n\n",i+1);
printf("* Donnez le nom de l\'etudiant: ");
fflush(stdin);
gets(en_nom);
strcpy(en_liste_etudiant[i].nom,en_nom);

printf("* Donnez le prenom de l\'etudiant: ");
gets(en_prenom);
strcpy(en_liste_etudiant[i].prenom,en_prenom);

do{
printf("* Donnez le niveau de l\'etudiant. N.B: Compris entre 1 et 5: ");
gets(carChoix1);
en_liste_etudiant[i].niveau=estDigit(carChoix1);
if((en_liste_etudiant[i].niveau<=0)||(en_liste_etudiant[i].niveau>5))
printf("\n\t Entrer un choix valide.\n\n");
}
while((en_liste_etudiant[i].niveau<=0)||(en_liste_etudiant[i].niveau>5));

printf("* Donnez l\'adresse de l\'etudiant: ");
fflush(stdin);
gets(en_adresse);
strcpy(en_liste_etudiant[i].adresse,en_adresse);
en_liste_etudiant[i].periode=0;
en_liste_etudiant[i].nbr_emprunte_par_et=0;
en_liste_etudiant[i].et_pocedant_1_l=0;
strcpy(en_liste_etudiant[i].livre_emprunte,"****************************");
printf("\n\n\t");
system("pause");
system("cls");
}
}
else
printf("\n");

system("cls");
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//=======================================================================================================================================================
/*FONCTION POUR ENREGISTRER UN ENSEIGNANT*/

void enregistre_enseignant( struct enseignant en_liste_enseignant[100],int *en_nbr_enseignant) //*nbr_enseignant est egal nombre d 'enseignant regulier dans l etablissement
{

char en_nom[20],en_prenom[20],en_adresse[50],carChoix1[10];
int i;

if(*en_nbr_enseignant==0)
{
printf("\n\tVOUS ETES SUR LE POINT D\'ENREGISTRER LES L\'ENSEIGNANT.\n");
printf("\t--------------------------------------------------\n\n\n");

do{
printf("--> Combien d\'enseignants sont inscrit dans votre etablissement: ");
gets(carChoix1);
*en_nbr_enseignant=estDigit(carChoix1);
if(*en_nbr_enseignant==-1)
printf("\n\n\t--> Entrer une valeur correcte.\n\n");
}while(*en_nbr_enseignant==-1);
for(i=0;i<*en_nbr_enseignant;i++)
{
printf("\n\n\n\n");
printf("\tL\'ENSEIGNANT %d\n\n",i+1);
printf("* Donnez le nom de l\'enseignant: ");
fflush(stdin);
gets(en_nom);
strcpy(en_liste_enseignant[i].nom,en_nom);

printf("* Donnez le prenom de l\'enseignant: ");
gets(en_prenom);
strcpy(en_liste_enseignant[i].prenom,en_prenom);

do{
printf("* Donnez le niveau de l\'enseignant. N.B: Compris entre 5 et 7: ");
gets(carChoix1);
en_liste_enseignant[i].niveau=estDigit(carChoix1);
if((en_liste_enseignant[i].niveau<=4)||(en_liste_enseignant[i].niveau>7))
printf("\n\t Entrer un choix valide.\n\n");
}
while((en_liste_enseignant[i].niveau<=4)||(en_liste_enseignant[i].niveau>5));

printf("* Donnez l\'adresse de l\'enseignant: ");
fflush(stdin);
gets(en_adresse);
strcpy(en_liste_enseignant[i].adresse,en_adresse);
en_liste_enseignant[i].periode=0;
en_liste_enseignant[i].nbr_emprunte_par_et=0;
en_liste_enseignant[i].et_pocedant_1_l=0;
strcpy(en_liste_enseignant[i].livre_emprunte,"****************************");
printf("\n\n\t");
system("pause");
system("cls");
}
}
else
printf("\n");

system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

//FONTION POUR AJOUTER UN ENSEIGNANT

void ajouter_ens(struct enseignant en_liste_enseignant[100],int *(en_nbr_enseignant))
{

(*en_nbr_enseignant)++;
char carChoix1[10];
char en_nom[20],en_prenom[20],en_adresse[50];
printf("\n");
printf("\n\tVOUS ETES SUR LE POINT D\'AJOUTER UN ENSEIGNANT\n\n");
printf("\t--------------------------------------------\n\n\n");

printf("* Donnez le nom de l\'enseignant a ajouter: ");
fflush(stdin);
gets(en_nom);
strcpy(en_liste_enseignant[*(en_nbr_enseignant)-1].nom,en_nom);

printf("* Donnez le prenom de l\'enseignant a ajouter: ");
gets(en_prenom);
strcpy(en_liste_enseignant[*(en_nbr_enseignant)-1].prenom,en_prenom);

do{
printf("* Donnez le niveau de l\'enseignant a ajouter. N.B: Compris entre 5 et 7: ");
gets(carChoix1);
en_liste_enseignant[*(en_nbr_enseignant)-1].niveau=estDigit(carChoix1);
if((en_liste_enseignant[*(en_nbr_enseignant)-1].niveau)<=4||(en_liste_enseignant[*(en_nbr_enseignant)-1].niveau>7))
printf("\n\t Entrer un choix valide.");
}while((en_liste_enseignant[*(en_nbr_enseignant)-1].niveau)<=4||(en_liste_enseignant[*(en_nbr_enseignant)-1].niveau>7));

printf("* Donnez l\'adresse de l\'enseignant a ajouter: ");
fflush(stdin);
gets(en_adresse);
strcpy(en_liste_enseignant[*(en_nbr_enseignant)-1].adresse,en_adresse);
printf("\n");
printf("--> Votre enseignant est maintenant un enseignant regulier dans votre etablissement.\n\n\t");
en_liste_enseignant[*(en_nbr_enseignant)-1].periode=0;
en_liste_enseignant[*(en_nbr_enseignant)-1].nbr_emprunte_par_et=0;
en_liste_enseignant[*(en_nbr_enseignant)-1].et_pocedant_1_l=0;
strcpy(en_liste_enseignant[*(en_nbr_enseignant)-1].livre_emprunte,"****************************");

system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONTION POUR AJOUTER UN ETUDIANT*/

void ajouter(struct etudiant en_liste_etudiant[100],int *(en_nbr_etudiant))
{

(*en_nbr_etudiant)++;
char carChoix1[10];
char en_nom[20],en_prenom[20],en_adresse[50];
printf("\n");
printf("\n\tVOUS ETES SUR LE POINT D\'AJOUTER UN ETUDIANT.\n");
printf("\t--------------------------------------------\n\n\n");

printf("* Donnez le nom de l\'etudiant a ajouter: ");
fflush(stdin);
gets(en_nom);
strcpy(en_liste_etudiant[*(en_nbr_etudiant)-1].nom,en_nom);

printf("* Donnez le prenom de l\'etudiant a ajouter: ");
gets(en_prenom);
strcpy(en_liste_etudiant[*(en_nbr_etudiant)-1].prenom,en_prenom);

do{
printf("* Donnez le niveau de l\'etudiant a ajouter. N.B: Compris entre 1 et 5: ");
gets(carChoix1);
en_liste_etudiant[*(en_nbr_etudiant)-1].niveau=estDigit(carChoix1);
if((en_liste_etudiant[*(en_nbr_etudiant)-1].niveau)<=0||(en_liste_etudiant[*(en_nbr_etudiant)-1].niveau>5))
printf("\n\t Entrer un choix valide.");
}while((en_liste_etudiant[*(en_nbr_etudiant)-1].niveau)<=0||(en_liste_etudiant[*(en_nbr_etudiant)-1].niveau>5));

printf("* Donnez l\'adresse de l\'etudiant a ajouter: ");
fflush(stdin);
gets(en_adresse);
strcpy(en_liste_etudiant[*(en_nbr_etudiant)-1].adresse,en_adresse);
printf("\n");
printf("--> Votre etudiant est maintenant un etudiant regulier dans votre etablissement.\n\n\t");
en_liste_etudiant[*(en_nbr_etudiant)-1].periode=0;
en_liste_etudiant[*(en_nbr_etudiant)-1].nbr_emprunte_par_et=0;
en_liste_etudiant[*(en_nbr_etudiant)-1].et_pocedant_1_l=0;
strcpy(en_liste_etudiant[*(en_nbr_etudiant)-1].livre_emprunte,"****************************");

system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

void ajout(struct etudiant en_liste_etudiant[100],int *(en_nbr_etudiant))
{
(*en_nbr_etudiant)++;
char carChoix1[10];
char en_nom[20],en_prenom[20],en_adresse[50];
printf("\n");
printf("\n\tVOUS ETES SUR LE POINT D\'AJOUTER UN ETUDIANT.\n");
printf("\t--------------------------------------------\n\n\n");

printf("* Donnez le nom de l\'etudiant a ajouter: ");
fflush(stdin);
gets(en_nom);
strcpy(en_liste_etudiant[*(en_nbr_etudiant)-1].nom,en_nom);

printf("* Donnez le prenom de l\'etudiant a ajouter: ");
gets(en_prenom);
strcpy(en_liste_etudiant[*(en_nbr_etudiant)-1].prenom,en_prenom);

do{
printf("* Donnez le niveau de l etudiant a ajouter. N.B: Compris entre 1 et 5: ");
gets(carChoix1);
en_liste_etudiant[*(en_nbr_etudiant)-1].niveau=estDigit(carChoix1);
if((en_liste_etudiant[*(en_nbr_etudiant)-1].niveau)<=0||(en_liste_etudiant[*(en_nbr_etudiant)-1].niveau>5))
printf("\n\t Entrer un choix valide.");
}while((en_liste_etudiant[*(en_nbr_etudiant)-1].niveau)<=0||(en_liste_etudiant[*(en_nbr_etudiant)-1].niveau>5));

printf("* Donnez l\'adresse de l\'etudiant a ajouter: ");
fflush(stdin);
gets(en_adresse);
strcpy(en_liste_etudiant[*(en_nbr_etudiant)-1].adresse,en_adresse);
printf("\n");
printf("--> Votre etudiant est maintenant un etudiant regulier dans votre etablissement.\n\n\t");
en_liste_etudiant[*(en_nbr_etudiant)-1].periode=0;
en_liste_etudiant[*(en_nbr_etudiant)-1].nbr_emprunte_par_et=0;
en_liste_etudiant[*(en_nbr_etudiant)-1].et_pocedant_1_l=0;
strcpy(en_liste_etudiant[*(en_nbr_etudiant)-1].livre_emprunte,"****************************");

system("pause");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

void ajout_ens(struct enseignant en_liste_enseignant[100],int *(en_nbr_enseignant))
{
(*en_nbr_enseignant)++;
char carChoix1[10];
char en_nom[20],en_prenom[20],en_adresse[50];
printf("\n");
printf("\n\tVOUS ETES SUR LE POINT D\'AJOUTER UN ENSEIGNANT.\n");
printf("\t--------------------------------------------\n\n\n");

printf("* Donnez le nom de l\'enseignant a ajouter: ");
fflush(stdin);
gets(en_nom);
strcpy(en_liste_enseignant[*(en_nbr_enseignant)-1].nom,en_nom);

printf("* Donnez le prenom de l\'enseignant a ajouter: ");
gets(en_prenom);
strcpy(en_liste_enseignant[*(en_nbr_enseignant)-1].prenom,en_prenom);

do{
printf("* Donnez le niveau de l\'enseignant a ajouter. N.B: Compris entre 5 et 7: ");
gets(carChoix1);
en_liste_enseignant[*(en_nbr_enseignant)-1].niveau=estDigit(carChoix1);
if((en_liste_enseignant[*(en_nbr_enseignant)-1].niveau)<=4||(en_liste_enseignant[*(en_nbr_enseignant)-1].niveau>7))
printf("\n\t Entrer un choix valide.");
}while((en_liste_enseignant[*(en_nbr_enseignant)-1].niveau)<=4||(en_liste_enseignant[*(en_nbr_enseignant)-1].niveau>7));

printf("* Donnez l\'adresse de l\'enseignant a ajouter: ");
fflush(stdin);
gets(en_adresse);
strcpy(en_liste_enseignant[*(en_nbr_enseignant)-1].adresse,en_adresse);
printf("\n");
printf("--> Votre enseignant est maintenant un enseignant regulier dans votre etablissement.\n\n\t");
en_liste_enseignant[*(en_nbr_enseignant)-1].periode=0;
en_liste_enseignant[*(en_nbr_enseignant)-1].nbr_emprunte_par_et=0;
en_liste_enseignant[*(en_nbr_enseignant)-1].et_pocedant_1_l=0;
strcpy(en_liste_enseignant[*(en_nbr_enseignant)-1].livre_emprunte,"****************************");

system("pause");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
void rangerListe_ens( struct enseignant en_liste_enseignant[100],int en_nbr_enseignant)
{
struct enseignant aide;
int i,j;

for(i=0;i<en_nbr_enseignant;i++)
{
for(j=i+1;j<en_nbr_enseignant;j++)
{
if(strcmp(en_liste_enseignant[j].nom,en_liste_enseignant[i].nom)<=0)
{
if(strcmp(en_liste_enseignant[j].nom,en_liste_enseignant[i].nom)<0)
{
aide=en_liste_enseignant[i];
en_liste_enseignant[i]=en_liste_enseignant[j];
en_liste_enseignant[j]=aide;
}
else
{
if(strcmp(en_liste_enseignant[j].prenom,en_liste_enseignant[i].prenom)<0)
{
aide=en_liste_enseignant[i];
en_liste_enseignant[i]=en_liste_enseignant[j];
en_liste_enseignant[j]=aide;

}
}
}
}
}
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
void rangerListe( struct etudiant en_liste_etudiant[100],int en_nbr_etudiant)
{
struct etudiant aide;
int i,j;

for(i=0;i<en_nbr_etudiant;i++)
{
for(j=i+1;j<en_nbr_etudiant;j++)
{
if(strcmp(en_liste_etudiant[j].nom,en_liste_etudiant[i].nom)<=0)
{
if(strcmp(en_liste_etudiant[j].nom,en_liste_etudiant[i].nom)<0)
{
aide=en_liste_etudiant[i];
en_liste_etudiant[i]=en_liste_etudiant[j];
en_liste_etudiant[j]=aide;
}
else
{
if(strcmp(en_liste_etudiant[j].prenom,en_liste_etudiant[i].prenom)<0)
{
aide=en_liste_etudiant[i];
en_liste_etudiant[i]=en_liste_etudiant[j];
en_liste_etudiant[j]=aide;

}
}
}
}
}
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
/*FONCTION POUR AFFICHER LA LISTE DES ETUDIANT*/
void affiche( struct etudiant en_liste_etudiant[100],int en_nbr_etudiant)
{
int C;
int m;
int i,j,ok=0;
int verification,aide;//elle va me permettre de savoir si le nombre d etudiant est un multiple de trois pour ne pas afficher un parge vide.
printf("\n\t\tLISTE DES ETUDIANTS.\n");
printf("\t\t-------------------\n\n");
if(en_nbr_etudiant!=0)
{
i=0;
rangerListe(en_liste_etudiant,en_nbr_etudiant);

verification=en_nbr_etudiant%3;
if(verification==0)
aide=en_nbr_etudiant/3;
else
aide=(en_nbr_etudiant/3)+1;
if(en_nbr_etudiant!=0)
{
while(i<aide)
{
printf("\n PAGE - %d -",i+1);
printf("\n -----------");
m=3+(3*i);
for(j=(3*i);(j<m)&&(j<en_nbr_etudiant);j++)

{
printf("\n");
if(j==0)
printf("\n\tLes informations du premier etudiant de la liste sont");
else
printf("\n\tLes informations du %d eme etudiant de la liste sont",j+1);

printf("\n --> Nom: %s",en_liste_etudiant[j].nom);
printf("\n --> Prenom: %s",en_liste_etudiant[j].prenom);
printf("\n --> Niveau: %d",en_liste_etudiant[j].niveau);
printf("\n --> Adresse: %s",en_liste_etudiant[j].adresse);
printf("\n --> La duree a mettre avec le livre emprunte: %d",en_liste_etudiant[j].periode);
printf("\n --> Le nombre d\'empunte fais par cet etudiant est: %d",en_liste_etudiant[j].nbr_emprunte_par_et);
if(en_liste_etudiant[j].et_pocedant_1_l==0)
printf("\n --> L\'etudiant ne pocede aucun livre de la bibliotheque.\n\n\n\t");
else
printf("\n --> L\'etudiant possede un livre de la bibliotheque, le titre est %s.\n\n\n\t",en_liste_etudiant[j].livre_emprunte);

}

printf("\n++> Tapez sur S pour continuer et sur P pour retourner a la page precedante et sur une autre touche pour quitter.");
fflush(stdin);
C=getchar();
system("cls");
if(((C=='S')&&(i!=(en_nbr_etudiant/3)))||((C==10)&&(i!=(en_nbr_etudiant/3))))
{
if((C=='S')&&(verification==0)&&(j==en_nbr_etudiant))
{
if(((C=='S')&&(i==(en_nbr_etudiant/3)-1))||((C==10)&&(i==(en_nbr_etudiant/3))))
{

printf("\n\a ++> Vous etes a la derniere page.\n");
ok++;
}
}
else
i++;
}

else if((C==10)&&(i==(en_nbr_etudiant/3))&&(ok!=0))
break;
else if(((C=='S')&&(i==(en_nbr_etudiant/3)))||((C==10)&&(i==(en_nbr_etudiant/3))))
{

printf("\n\a ++> Vous etes a la derniere page.\n");
ok++;
}

else if((C=='P')&&(i!=0))
{
i=i-1;
}
else if((C=='P')&&(i==0))
printf("\n\a ++> Vous etes a la premiere page.\n");

else

break;
}

}
}
else
printf("\n --> il n\'ya pas d\'etudiant inscrit pour le momment.\n\n\n\t");
system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
/*FONCTION POUR AFFICHER LA LISTE DES ENSEIGNANT*/
void affiche_ens( struct enseignant en_liste_enseignant[100],int en_nbr_enseignant)
{
int C;
int m;
int i,j,ok=0;
int verification,aide;//elle va me permettre de savoir si le nombre d enseignant est un multiple de trois pour ne pas afficher un parge vide.
printf("\n\t\tLISTE DES ENSEIGNANTS.\n");
printf("\t\t-------------------\n\n");
if(en_nbr_enseignant!=0)
{
i=0;
rangerListe_ens(en_liste_enseignant,en_nbr_enseignant);

verification=en_nbr_enseignant%3;
if(verification==0)
aide=en_nbr_enseignant/3;
else
aide=(en_nbr_enseignant/3)+1;
if(en_nbr_enseignant!=0)
{
while(i<aide)
{
printf("\n PAGE - %d -",i+1);
printf("\n -----------");
m=3+(3*i);
for(j=(3*i);(j<m)&&(j<en_nbr_enseignant);j++)

{
printf("\n");
if(j==0)
printf("\n\tLes informations du premier enseignant de la liste sont");
else
printf("\n\tLes informations du %d eme enseignant de la liste sont",j+1);

printf("\n --> Nom: %s",en_liste_enseignant[j].nom);
printf("\n --> Prenom: %s",en_liste_enseignant[j].prenom);
printf("\n --> Niveau: %d",en_liste_enseignant[j].niveau);
printf("\n --> Adresse: %s",en_liste_enseignant[j].adresse);
printf("\n --> La duree a mettre avec le livre emprunte: %d",en_liste_enseignant[j].periode);
printf("\n --> Le nombre d\'empunte fait par cet enseignant est: %d",en_liste_enseignant[j].nbr_emprunte_par_et);
if(en_liste_enseignant[j].et_pocedant_1_l==0)
printf("\n --> L\'enseignant ne pocede aucun livre de la bibliotheque.\n\n\n\t");
else
printf("\n --> L\'enseignant possede un livre de la bibliotheque, le titre est %s.\n\n\n\t",en_liste_enseignant[j].livre_emprunte);

}

printf("\n++> Tapez sur S pour continuer et sur P pour retourner a la page precedante et sur une autre touche pour quitter.");
fflush(stdin);
C=getchar();
system("cls");
if(((C=='S')&&(i!=(en_nbr_enseignant/3)))||((C==10)&&(i!=(en_nbr_enseignant/3))))
{
if((C=='S')&&(verification==0)&&(j==en_nbr_enseignant))
{
if(((C=='S')&&(i==(en_nbr_enseignant/3)-1))||((C==10)&&(i==(en_nbr_enseignant/3))))
{

printf("\n\a ++> Vous etes a la derniere page.\n");
ok++;
}
}
else
i++;
}

else if((C==10)&&(i==(en_nbr_enseignant/3))&&(ok!=0))
break;
else if(((C=='S')&&(i==(en_nbr_enseignant/3)))||((C==10)&&(i==(en_nbr_enseignant/3))))
{

printf("\n\a ++> Vous etes a la derniere page.\n");
ok++;
}

else if((C=='P')&&(i!=0))
{
i=i-1;
}
else if((C=='P')&&(i==0))
printf("\n\a ++> Vous etes a la premiere page.\n");

else

break;
}

}
}
else
printf("\n --> il n\'ya pas d\'enseignant inscrit pour le momment.\n\n\n\t");
system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONCTION POUR SUPPRIMER UN ETUDIANT*/

void supprimer( struct etudiant en_liste_etudiant[100],int *en_nbr_etudiant)
{

int pos=-1,i,existe=0;
char en_nom[20],en_prenom[20],affirmation[10];
printf("\n\tVOUS ETES SUR LE POINT DE SUPPRIMER UN ETUDIANT\n");
printf("\t-----------------------------------------------\n");
printf("\n * Donner le nom de l etudiant qui ne fait plus partir de l etabblissement: ");
fflush(stdin);
gets(en_nom);

for(i=0;(i<*en_nbr_etudiant)&&(pos==-1);i++)
{
if(strcmp(en_nom,en_liste_etudiant[i].nom)!=0)
{
existe++;

}
else
{
printf("\n * Donner le prenom de l etudiant qui ne fait plus partir de votre etablissement: ");
gets(en_prenom);
fflush(stdin);
if((strcmp(en_prenom,en_liste_etudiant[i].prenom)==0))
pos=i;
}
}
if((existe==0)&&(pos!=-1))
{
printf("\n * L\'etudiant que vous voulez supprimer est regulier dans l etablissement");
printf("\n * Voulez vous vraiment le supprimez cet etudiant de l etablissement;entrez oui ou non: ");
gets(affirmation);
if((strcmp(affirmation,"oui")==0)&&(en_liste_etudiant[pos].et_pocedant_1_l==0)||(strcmp(affirmation,"OUI")==0)&&(en_liste_etudiant[pos].et_pocedant_1_l==0))

{
for(i=pos;i<*en_nbr_etudiant;i++)
{
en_liste_etudiant[i]=en_liste_etudiant[i+1] ;
}
(*en_nbr_etudiant)--;
printf("\n * Cet etudiant a bien ete supprimer.\n\n\t");
}
else
printf(" * %s %s est en pocetion d un livre de la bibliotheque qu il n a pas remi, il ne peut pas etre supprime.\n\n\t",en_nom,en_prenom);

}
else
printf("\n * Cet etudiant n\'est pas dans la liste des etudiants reguliers de l\'etablissement\n\n\t");
system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONCTION POUR SUPPRIMER UN ENSEIGNANT*/

void supprimer_ens( struct enseignant en_liste_enseignant[100],int *en_nbr_enseignant)
{

int pos=-1,i,existe=0;
char en_nom[20],en_prenom[20],affirmation[10];
printf("\n\tVOUS ETES SUR LE POINT DE SUPPRIMER UN ENSEIGNANT\n");
printf("\t-----------------------------------------------\n");
printf("\n * Donner le nom de l enseignant qui ne fait plus partir de l etabblissement: ");
fflush(stdin);
gets(en_nom);

for(i=0;(i<*en_nbr_enseignant)&&(pos==-1);i++)
{
if(strcmp(en_nom,en_liste_enseignant[i].nom)!=0)
{
existe++;

}
else
{
printf("\n * Donner le prenom de l enseignant qui ne fait plus partir de votre etablissement: ");
gets(en_prenom);
fflush(stdin);
if((strcmp(en_prenom,en_liste_enseignant[i].prenom)==0))
pos=i;
}
}
if((existe==0)&&(pos!=-1))
{
printf("\n * L\'enseignant que vous voulez supprimer est regulier dans l etablissement");
printf("\n * Voulez vous vraiment le supprimez cet enseignant de l etablissement;entrez oui ou non: ");
gets(affirmation);
if((strcmp(affirmation,"oui")==0)&&(en_liste_enseignant[pos].et_pocedant_1_l==0)||(strcmp(affirmation,"OUI")==0)&&(en_liste_enseignant[pos].et_pocedant_1_l==0))

{
for(i=pos;i<*en_nbr_enseignant;i++)
{
en_liste_enseignant[i]=en_liste_enseignant[i+1] ;
}
(*en_nbr_enseignant)--;
printf("\n * Cet enseignant a bien ete supprimer.\n\n\t");
}
else
printf(" * %s %s est en pocetion d un livre de la bibliotheque qu il n a pas remi, il ne peut pas etre supprime.\n\n\t",en_nom,en_prenom);

}
else
printf("\n * Cet enseignant n\'est pas dans la liste des enseignants reguliers de l\'etablissement\n\n\t");
system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONCTION POUR RECHERCHER UN ETUDIANT*/

void recherche( struct etudiant en_liste_etudiant[100],int en_nbr_etudiant)
{

int pos=-1,i;

char en_nom[20],en_prenom[20];
printf("\n\tACTUELLEMENT VOUS ALLEZ CHERCHER UN ETUDIANT\n");
printf("\t--------------------------------------------\n");

{
printf("\n * Donner le nom de l\'etudiant que vous chercher: ");
fflush(stdin);
gets(en_nom);

for(i=0;i<en_nbr_etudiant;i++)
{

if(strcmp(en_nom,en_liste_etudiant[i].nom)!=0)
{

}
else
{

printf("\n * Verifion le prenom\n");
printf("\n * Donner le prenom de l\'etudiant que vous chercher: ");
gets(en_prenom);
fflush(stdin);
if((strcmp(en_prenom,en_liste_etudiant[i].prenom)==0))
pos=i;
}
}

if(pos!=-1)
{
printf("\n * Cet etudiant existe dans votre etablissement.");
printf("\n * Les information correspondant a cet etudiant sont: ");
printf("\n");
if(pos==0)
printf("\t * Les informations du premier etudiant de la liste sont\n");
else
printf("\t * Les informations du %d eme etudiant de la liste sont:\n",i+1);

printf("\n --> Nom: %s",en_liste_etudiant[pos].nom);
printf("\n --> Prenom: %s",en_liste_etudiant[pos].prenom);
printf("\n --> Niveau: %d",en_liste_etudiant[pos].niveau);
printf("\n --> Adresse: %s",en_liste_etudiant[pos].adresse);
printf("\n --> La duree a mettre avec le livre emprunte: %d",en_liste_etudiant[pos].periode);
printf("\n --> Le nombre d\'empunte fais par cet etudiant est: %d",en_liste_etudiant[pos].nbr_emprunte_par_et);
if(en_liste_etudiant[pos].et_pocedant_1_l==0)
printf("\n --> L\'etudiant ne pocede aucun livre de la bibliotheque\n\n\t");
else
printf("\n --> L\'etudiant pocede un livre de la bibliotheque, le titre est %s\n\n\t",en_liste_etudiant[pos].livre_emprunte);
}

else
printf(" * Cet etudiant n\'existe pas dans votre etablissement.\n\n\t");
}
system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONCTION POUR RECHERCHER UN ENSEIGNANT*/

void recherche_ens( struct enseignant en_liste_enseignant[100],int en_nbr_enseignant)
{

int pos=-1,i;

char en_nom[20],en_prenom[20];
printf("\n\tACTUELLEMENT VOUS ALLEZ CHERCHER UN ENSEIGNANT\n");
printf("\t--------------------------------------------\n");

{
printf("\n * Donner le nom de l\'enseignant que vous chercher: ");
fflush(stdin);
gets(en_nom);

for(i=0;i<en_nbr_enseignant;i++)
{

if(strcmp(en_nom,en_liste_enseignant[i].nom)!=0)
{

}
else
{

printf("\n * Verifion le prenom\n");
printf("\n * Donner le prenom de l\'enseignant que vous chercher: ");
gets(en_prenom);
fflush(stdin);
if((strcmp(en_prenom,en_liste_enseignant[i].prenom)==0))
pos=i;
}
}

if(pos!=-1)
{
printf("\n * Cet enseignant existe dans votre etablissement.");
printf("\n * Les information correspondant a cet enseignant sont: ");
printf("\n");
if(pos==0)
printf("\t * Les informations du premier enseignant de la liste sont\n");
else
printf("\t * Les informations du %d eme enseignant de la liste sont:\n",i+1);

printf("\n --> Nom: %s",en_liste_enseignant[pos].nom);
printf("\n --> Prenom: %s",en_liste_enseignant[pos].prenom);
printf("\n --> Niveau: %d",en_liste_enseignant[pos].niveau);
printf("\n --> Adresse: %s",en_liste_enseignant[pos].adresse);
printf("\n --> La duree a mettre avec le livre emprunte: %d",en_liste_enseignant[pos].periode);
printf("\n --> Le nombre d\'empunte fais par cet enseignant est: %d",en_liste_enseignant[pos].nbr_emprunte_par_et);
if(en_liste_enseignant[pos].et_pocedant_1_l==0)
printf("\n --> L\'enseignant ne pocede aucun livre de la bibliotheque\n\n\t");
else
printf("\n --> L\'enseignant pocede un livre de la bibliotheque, le titre est %s\n\n\t",en_liste_enseignant[pos].livre_emprunte);
}

else
printf(" * Cet enseignant n\'existe pas dans votre etablissement.\n\n\t");
}
system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONCTION QUI DONNE LES INFORMATION SUR LES ENSEIGNANT DE L ETABLISSEMENT;DIT SI UN ENSEIGNANT A EMPRUNTE UN LIVRE OU PAS*/

void info_ens( struct enseignant en_liste_enseignant[100],int en_nbr_enseignant)

{

int i,j=0,emprunte=0,ok=0;
int plus_lu[50],max1,plus_lu1=0,m;
int pos_emp[50],max,pos_max;
int somme=0;
printf("\n\tPRESENTATION DU JOURNAL DES ENSEIGNANTS\n");
printf("\t-------------------------------------\n");
for(i=0;i<en_nbr_enseignant;i++)
{
if(en_liste_enseignant[i].et_pocedant_1_l==1)
{
emprunte++;
pos_emp[j]=i;
j++;
}
}
printf("\n --> il existe %d enseignant regulier.",en_nbr_enseignant);
if(emprunte==0)
{
printf("\n --> Aucun enseignant n a emprute un livre.");
ok++;
}
else if(emprunte==1)
printf("\n --> Un enseignant est en pocetion d un livre.");
else
printf("\n --> %d enseignant sont en pocetion d un livre\n\n",emprunte);
for(i=0;i<emprunte;i++)
{
printf("\n\t*l enseignant %s %s du niveau: %d\n",en_liste_enseignant[pos_emp[i]].nom,en_liste_enseignant[pos_emp[i]].prenom,en_liste_enseignant[pos_emp[i]].niveau);
}

for(i=0;i<en_nbr_enseignant;i++)
{
somme=somme+en_liste_enseignant[i].nbr_emprunte_par_et;
}
if(ok==0)//ce teste empeche de repeté la phrase dit plus haut
printf("\n --> Vous avez deja fait au total %d emprunte\n",somme);

for(i=0;i<en_nbr_enseignant;i++)
{
plus_lu[i]=en_liste_enseignant[i].nbr_emprunte_par_et;
}

max=en_liste_enseignant[0].nbr_emprunte_par_et;
pos_max=0;
for(i=1;i<en_nbr_enseignant;i++)
{
if(max<en_liste_enseignant[i].nbr_emprunte_par_et)
{
max=en_liste_enseignant[i].nbr_emprunte_par_et;
pos_max=i;

}
}
m=en_nbr_enseignant;
m--;
for(i=pos_max;i<m;i++)
{
plus_lu[i]=plus_lu[i+1];
}
max1=max;
for(i=0;i<m;i++)
{
if(max1==plus_lu[i])
plus_lu1++;
}

if((plus_lu1==0)&&(en_liste_enseignant[pos_max].et_pocedant_1_l==1))
printf(" --> L enseignant qui a fait le plus emprunte est: %s %s du niveau: %d\n\n\t",en_liste_enseignant[pos_max].nom,en_liste_enseignant[pos_max].prenom,en_liste_enseignant[pos_max].niveau);
else if(max1==0)
printf(" \n\n\t");
else
printf(" --> Il existe %d enseignant qui lise assez les livres de la bibliotheque.\n\n\t",plus_lu1+1);

system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONCTION QUI DONNE LES INFORMATION SUR LES ETUDIANT DE L ETABLISSEMENT;DIT SI UN ETUDIANT A EMPRUNTE UN LIVRE OU PAS*/

void info ( struct etudiant en_liste_etudiant[100],int en_nbr_etudiant)

{

int i,j=0,emprunte=0,ok=0;
int plus_lu[50],max1,plus_lu1=0,m;
int pos_emp[50],max,pos_max;
int somme=0;
printf("\n\tPRESENTATION DU JOURNAL DES ETUDIANTS\n");
printf("\t-------------------------------------\n");
for(i=0;i<en_nbr_etudiant;i++)
{
if(en_liste_etudiant[i].et_pocedant_1_l==1)
{
emprunte++;
pos_emp[j]=i;
j++;
}
}
printf("\n --> il existe %d etudiant regulier.",en_nbr_etudiant);
if(emprunte==0)
{
printf("\n --> Aucun etudiant n a emprute un livre.");
ok++;
}
else if(emprunte==1)
printf("\n --> Un etudiant est en pocetion d un livre.");
else
printf("\n --> %d etudiant sont en pocetion d un livre\n\n",emprunte);
for(i=0;i<emprunte;i++)
{
printf("\n\t*l etudiant %s %s du niveau: %d\n",en_liste_etudiant[pos_emp[i]].nom,en_liste_etudiant[pos_emp[i]].prenom,en_liste_etudiant[pos_emp[i]].niveau);
}

for(i=0;i<en_nbr_etudiant;i++)
{
somme=somme+en_liste_etudiant[i].nbr_emprunte_par_et;
}
if(ok==0)//ce teste empeche de repeté la phrase dit plus haut
printf("\n --> Vous avez deja fait au total %d emprunte\n",somme);

for(i=0;i<en_nbr_etudiant;i++)
{
plus_lu[i]=en_liste_etudiant[i].nbr_emprunte_par_et;
}

max=en_liste_etudiant[0].nbr_emprunte_par_et;
pos_max=0;
for(i=1;i<en_nbr_etudiant;i++)
{
if(max<en_liste_etudiant[i].nbr_emprunte_par_et)
{
max=en_liste_etudiant[i].nbr_emprunte_par_et;
pos_max=i;

}
}
m=en_nbr_etudiant;
m--;
for(i=pos_max;i<m;i++)
{
plus_lu[i]=plus_lu[i+1];
}
max1=max;
for(i=0;i<m;i++)
{
if(max1==plus_lu[i])
plus_lu1++;
}

if((plus_lu1==0)&&(en_liste_etudiant[pos_max].et_pocedant_1_l==1))
printf(" --> L etudiant qui a fait le plus emprunte est: %s %s du niveau: %d\n\n\t",en_liste_etudiant[pos_max].nom,en_liste_etudiant[pos_max].prenom,en_liste_etudiant[pos_max].niveau);
else if(max1==0)
printf(" \n\n\t");
else
printf(" --> Il existe %d etudiant qui lise assez les livres de la bibliotheque.\n\n\t",plus_lu1+1);

system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONTION QUI GERE LES ETUDIANTS*/

void gestion_etudiant(struct etudiant liste_etudiant[100],int *nbr_etudiant)
{

int choix;
char carChoix1[10];

enregistre_etudiant(liste_etudiant,*(&nbr_etudiant)) ;

do
{
system("cls");
printf("\n\n\n");
printf(" ----------------------------------------\n");
printf(" | BIEN VENU DANS LE MENU DES ETUDIANTS: |\n");
printf(" ----------------------------------------\n");
printf(" -------------------------------------------------------------\n");
printf(" | ->1 Ajouter un etudiant |\n");
printf(" | ->2 Supprimer un etudiant |\n");
printf(" | ->3 Chercher un etudiant dans la liste |\n");
printf(" | ->4 Afficher la liste des etudiants |\n");
printf(" | ->5 Avoir les information sur le trafic de l etudiant |\n");
printf(" | ->6 Quitter le menu |\n");
printf(" -------------------------------------------------------------\n");
do
{
printf(" |Choix : ");
gets(carChoix1);
choix=estDigit(carChoix1);
}while((choix<=0)||(choix>6));

system("cls");

switch(choix)
{
case 1:ajouter(liste_etudiant,*(&nbr_etudiant));
break;

case 2:supprimer(liste_etudiant,*(&nbr_etudiant));
break;

case 3:recherche(liste_etudiant,*nbr_etudiant);
break;

case 4:affiche(liste_etudiant,*nbr_etudiant);
break;

case 5:info(liste_etudiant,*nbr_etudiant);
break;

default :
printf("\n\n\n\n\n\n\n\t**** MERCI DE REVENIR AU MENU DE VOTRE BIBLIOTHEQUE ****\n\n\n\n");

}
}while(choix!=6);

printf("\t --> ");
system("pause");
system("cls");
}

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONTION QUI GERE LES ENSEIGNANTS*/

void gestion_enseignant(struct enseignant liste_enseignant[100],int *nbr_enseignant)
{

int choix;
char carChoix1[10];

enregistre_enseignant(liste_enseignant,*(&nbr_enseignant)) ;

do
{
system("cls");
printf("\n\n\n");
printf(" ------------------------------------------\n");
printf(" | BIEN VENU DANS LE MENU DES ENSEIGNANTS: |\n");
printf(" ------------------------------------------\n");
printf(" ---------------------------------------------------------------\n");
printf(" | ->1 Ajouter un enseignant |\n");
printf(" | ->2 Supprimer un enseignant |\n");
printf(" | ->3 Chercher un enseignant dans la liste |\n");
printf(" | ->4 Afficher la liste des enseignant |\n");
printf(" | ->5 Avoir les information sur le trafic de l enseignant |\n");
printf(" | ->6 Quitter le menu |\n");
printf(" ---------------------------------------------------------------\n");
do
{
printf(" |Choix : ");
gets(carChoix1);
choix=estDigit(carChoix1);
}while((choix<=0)||(choix>6));

system("cls");

switch(choix)
{
case 1:ajouter_ens(liste_enseignant,*(&nbr_enseignant));
break;

case 2:supprimer_ens(liste_enseignant,*(&nbr_enseignant));
break;

case 3:recherche_ens(liste_enseignant,*nbr_enseignant);
break;

case 4:affiche_ens(liste_enseignant,*nbr_enseignant);
break;

case 5:info_ens(liste_enseignant,*nbr_enseignant);
break;

default :
printf("\n\n\n\n\n\n\n\t**** MERCI DE REVENIR AU MENU DE VOTRE BIBLIOTHEQUE ****\n\n\n\n");

}
}while(choix!=6);

printf("\t --> ");
system("pause");
system("cls");
}

//=====================================================================================================================================================
//=====================================================================================================================================================
//======================================================================================================================================================
/*FONCTION POUR AJOUTE UN DOMAINE */

void ajouter_domaine(int *nbre_domaine,Domaine liste[50])
{
char nouveau_domaine[30];
printf("\n\n\n\t--> Quel domaine voulez vous adjouter: ");
gets(nouveau_domaine);
(*nbre_domaine)++;
strcpy(liste[*nbre_domaine-1].nomDomaine,nouveau_domaine);
printf("\n\t--> Votre adjout a ete bien effectue.\n\n\t");
system("pause");
system("cls");
}

/*FONCTION POUR SUPPRIMER UN DOMAINE */

void supprimer_domaine(int *nbre_domaine,Domaine liste[50]){
int i=0,un=0;
char nouveau_domaine[30];
printf("\n\n\n\t--> Quel domaine voulez vous supprimer ? ");
gets(nouveau_domaine);

while(i<*nbre_domaine)
{
if((strcmp(liste[i].nomDomaine,nouveau_domaine)==0)&&(un==0))
{

liste[i]=liste[i+1];
un++;
printf("\n\t--> Votre domaine a ete bien supprime.\n\n\t");
(*nbre_domaine)--;
}
i++;
}
if(un==0)
printf("\n\n\n\t--> Ce domaine n\'existe pas.\n\n\t");

system("pause");
system("cls");
}

/*FONCTION QUI SAISIE LE NOM DES DOMAINE */

void saisie_domaine(int *nbre_domaine,Domaine liste[50])
{

int i;
char nom_domaine[20],carChoix1[10];

if(*nbre_domaine==0)
{
printf("\n\tMERCI DE BIEN VOULOIR SAISIR LES NOMS DES DOMAINES\n");
printf("\t--------------------------------------------------\n\n");
do
{

printf("\n Combien de domaine desirez vous pour votre bibliotheque: ");
gets(carChoix1);
*nbre_domaine=estDigit(carChoix1);
if(*nbre_domaine==-1)
printf("\n\t Entrer un choix valide.");

}
while((*nbre_domaine<=0)||(*nbre_domaine>10));

for(i=0;i<*nbre_domaine;i++)
{
printf("\t++> Donner le nom du domaine %d: ",i+1);
fflush(stdin);
gets(nom_domaine);
strcpy(liste[i].nomDomaine,nom_domaine);
}

}
else
printf("\n");

system("cls");
}
//=====================================================================================================================================================
//=====================================================================================================================================================
//=====================================================================================================================================================
//=====================================================================================================================================================
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONCTIO POUR REMPLIR LES LIVRES DANS UN DOMAINE*/

void insertion_livre(Reference liv[50], int *m)
{
char nouveau_l[20],nouveau_a[30],nouveau_e[30],carChoix1[10] ;
printf("\n\tVOUS ETES SUR LE POINT D AJOUTER UN LIVRE\n");
printf("\t-----------------------------------------\n");

if(*m<50)
{
printf("\n ++> Quel livre voulez vous ajouter : ");
fflush(stdin);
gets(nouveau_l);
strcpy(liv[*m-1].titre,nouveau_l);
printf("\n ++> Donner le nom de l auteur: ");
fflush(stdin);
gets(nouveau_a);
strcpy(liv[*m-1].auteur,nouveau_a);
printf("\n ++> Donner l edition du livre: ");
fflush(stdin);
gets(nouveau_e);
strcpy(liv[*m-1].edition,nouveau_e);

do{
printf("\t++> Ce livre correspond aux etudiants du niveau.Notez bien: Comprid entre 1 et 7: ");
gets(carChoix1);
liv[*m-1].nivo=estDigit(carChoix1);
if((0>=liv[*m-1].nivo)||(liv[*m-1].nivo<7))
printf("\n\t Entrer un choix valide.");
}while((liv[*m-1].nivo)<=0||(liv[*m-1].nivo>7));
(*m)++;
liv[*m-1].emprunte=0; // tableau qui enregistre si un livre est emprunté
liv[*m-1].nbrEmprunte=0; //tableau qui enregistre le nomde fois qu un livre est emprunte
printf("\n\t--> VOTRE LIVRE A BIEN ETE AJOUTE\n\n\t");
}

system("pause");
system("cls");
}
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*FONCTION POUR SUPPRIMER UN LIVRE DANS LE DOMAINE*/

void supprimer_livre(Reference liv[50], int *m)
{

char nouveau_l[20],affirmation[20];
int i;
int pos=-1; //variable qui entre la position du livre a emprunter
printf("\n\tVOUS ETES SUR LE POINT DE SUPPRIMER UN LIVRE\n");
printf("\t--------------------------------------------\n");

printf("++> Quel livre voulez vous supprimer : ");
fflush(stdin);
gets(nouveau_l);
/*on parcour le tableau et on cherche le livre que l utilisateur veut
supprimer et on retourne sa position*/
for(i=0;(i<*m)&&(pos==-1);i++)
{
if(strcmp(liv[i].titre,nouveau_l)==0)
pos=i;
}
/*il faut enregistrer le position des livre les afficher,saisir cette position du livre a supprimer au
clavier puis par la suite faire un teste pour savoir si c est un livre emprunte*/

if((pos!=-1)&&(liv[pos].emprunte==0))
{
if(pos!=-1)
{
for(i=pos;i<*m-1;i++)
{
liv[i]=liv[i+1];
//tab[i]/*liv[i].emprunte*/=tab[i+1]/*liv[i+1].emprunte*/;
//tab_i[i]/*liv[i].nbremprunte*/=tab_i[i+1]/*liv[i].nbremprunte*/;
}
(*m)--;
printf("\n--> VOTRE SUPPRESSION A ETE BIEN EFFECTUE.\n\n\t");
}
else
printf("\n --> Le livre que vous voulez supprimer n existe pas dans ce domaine\n nous vous prions de reprendre votre operation ulterieurement\n\n\t");
}
else
{
printf("\n --> le livre que vous voulez supprimer est un livre emprunter si vous voulez le supprime il n appartiendra plus a la bibliotheque.");
printf("\n --> Voulez vous vraiment le supprimer? Entre oui ou non ");
gets(affirmation);
if((strcmp(affirmation,"oui")==0)||(strcmp(affirmation,"OUI")==0))
{
for(i=pos;i<*m-1;i++)
{
liv[i]=liv[i+1];
//tab[i]=tab[i+1];
//tab_i[i]=tab_i[i+1];
}
(*m)--;
printf("\n--> VOTRE SUPPRESSION A ETE BIEN EFFECTUE.\n\n\t");
}
else
printf("\n --> Le livre %s n a pas ete supprime car c\'est un livre emprunte.\n\n\t",liv[pos].titre);

}
system("pause");
system("cls");
}
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*ecrire une fonction pour chercher un livre et l emprunter et va
enregistrer le nombre des emprunte dans le domaine va enregistrer le ou les positions
de ce livre cherche dans tabp et c est grace a cela nous allons allé modifier le tableau des emprunte tab.
nombre_livre c est le nombre de livre correspondant a la recherche .*/

void recherche_nom(Reference livre[50],int n,int *emprunte_du_domaine,struct etudiant en_liste_etudiant[100],struct enseignant en_liste_enseignant[100],int *en_nbr_etudiant ,int *en_nbr_enseignant)
{

char nom_et[30],prenom_et[30],validation[10];
char carChoix1[10];
char choise[10];
int nombre_livre=0;
int verification=0;
int tabp[50]; // tableau qui permet d enregistrer les differente position d un livre si il exit plus d une fois
char liv[20] ;
char confirmation[10];
int i,j=0;
int un=0; //variable permettant de ne pas emprunter un livre plus d une fois
int etudiant_trouve=-1; // postion de l etudiant dans la liste des etudiant
int enseignant_trouve=-1;
printf("\n\tACTUELLEMENT VOUS ALLEZ CHERCHER UN LIVRE\n");
printf("\t-----------------------------------------\n");

printf("\n ++> Quel livre cherchez vous : ");
fflush(stdin);
gets(liv);
for(i=0;i<n;i++)
{
if(strcmp(liv,livre[i].titre)==0)
{
tabp[j]=i; //tableau des position correspondans aux livre que nous cherchons
j++; //enregistrer le tableau sans vide.
nombre_livre++; //nombre de livre corespondant a la rechercher demande par l administrateur
}
}

if(nombre_livre==0)
printf("\n --> Il n\'existe aucun livre correspondant a votre recherche");
else if(nombre_livre==1)
printf("\n --> Il existe 1 lires correspondant a votre recherche");
else
printf("\n --> Il exite %d livres correspondant a votre recherche",nombre_livre);
if(nombre_livre!=0)
{
for(i=0;i<nombre_livre;i++)
{
if(i==0)
printf("\n --> Le premier liver se trouve a la position %d ",tabp[i]+1);
else if(i==1)
printf("\n --> Le deuxieme livre se trouve a la position %d ",tabp[i]+1);
else
printf("\n --> Le %d livre trouve est a la position %d ",i+1,tabp[i]+1);
}
printf("\n ++> Voulez vous emprunter ce livre ? entrez oui ou non: ");
gets(confirmation);
if((strcmp(confirmation,"oui")==0)||strcmp(confirmation,"OUI")==0)
{

for(i=0;i<nombre_livre;i++)
{
if((livre[tabp[i]].emprunte==0)&&(verification==0))
{
verification++;
}
}
if(verification==1)
{
printf("\n ++>emprunter ce livre pour etudiant or enseignant? entrez etudiant ou enseignant: ");
gets(choise);
if((strcmp(confirmation,"ETUDIANT")==0)||strcmp(confirmation,"etudiant")==0)
{ printf("\n --> Donner le nom de l\'etudiant: ");
gets(nom_et);
printf(" --> Donnez le prenom de l\'etudiant: ");
gets(prenom_et);
if(*en_nbr_etudiant!=0)
{
for(i=0;i<*en_nbr_etudiant;i++)
{
if((strcmp(nom_et,en_liste_etudiant[i].nom)==0)&&(strcmp(prenom_et,en_liste_etudiant[i].prenom)==0)) //pour montre que le nom n est pas correspondant
etudiant_trouve=i;
}
}

else
{
printf("\n --> le Livre est un livre emprunte");
}

if((etudiant_trouve==-1)&&(verification==1))
{
printf("\n --> L etudiant %s %s ne peut pas emprunter le livre dans cette bibliotheque, ",nom_et,prenom_et);
printf("\ncar il n est pas enregistrer comme etudiant regulier dans l etablissement. ");
printf("\nSi vous l emprunte un livre vous devez l enregistrer comme etudiant regulier, ");
printf("\nVoulez vous l enregistrer? entrer oui ou non pour la validation de son enregistrement: ");
gets(validation);
if((strcmp(validation,"oui")==0)||(strcmp(validation,"OUI")==0))
{
//ici ont fait l affectation correspondant aux emprunte le nombre d emprunte le nom du liver emprunté et tout les info necessaire.
system("cls");
for(i=0;i<nombre_livre;i++)
{
if((livre[tabp[i]].emprunte==0)&&(un==0))
{
livre[tabp[i]].emprunte=1; //le tab qui enregistre si un livre est emprunté ou pas.
livre[tabp[i]].nbrEmprunte++; //le tableau qui enregistre combien de fois un livre a ete emprunté.
(*emprunte_du_domaine)++; //il enregistre le nombre d emprunte total du domaine.
ajout(en_liste_etudiant,*(&en_nbr_etudiant));

//ont appel la fontion pour remplir les info de l etudiant a la position (*nbr_etudiant-1)
// car dans borlan les tableau commence a zero

do{
printf("\n\n--> Pour une dure de combien de jour(N.B:3 jours au maximum): ");
gets(carChoix1);
en_liste_etudiant[*en_nbr_etudiant-1].periode=estDigit(carChoix1);
if((en_liste_etudiant[*en_nbr_etudiant-1].periode<=0)||(en_liste_etudiant[*en_nbr_etudiant-1].periode>3))
printf("\n\t Entrer un choix valide.\n\n");
}while((en_liste_etudiant[*en_nbr_etudiant-1].periode<=0)||(en_liste_etudiant[*en_nbr_etudiant-1].periode>3));
system("cls");
en_liste_etudiant[*en_nbr_etudiant-1].nbr_emprunte_par_et=en_liste_etudiant[*en_nbr_etudiant-1].nbr_emprunte_par_et+1;
en_liste_etudiant[*en_nbr_etudiant-1].et_pocedant_1_l=1;
strcpy(en_liste_etudiant[*en_nbr_etudiant-1].livre_emprunte,liv);
printf("\n\n\n\n\n\n\n ==> Un email de confirmation d\'enregistrement a ete envoye a l\'etudiant %s %s \n\n",en_liste_etudiant[*en_nbr_etudiant-1].nom,en_liste_etudiant[*en_nbr_etudiant-1].prenom);
un++; //il empeche d emprunter un livre 2 fois

if((livre[tabp[i]].emprunte==1)&&(un==1)&&(strcmp(nom_et,en_liste_etudiant[*en_nbr_etudiant-1].nom)==0)&&(strcmp(prenom_et,en_liste_etudiant[*en_nbr_etudiant-1].prenom)==0)&&(en_liste_etudiant[*en_nbr_etudiant-1].et_pocedant_1_l==1))

printf("\n\t--> L\'emprunte a ete bien effectue pour l\'etudiant %s %s ",nom_et,prenom_et);
else
printf("\n --> Il y a eu une erreur lors de l\'enregistrement.merci de reprendre.");
}
}

} //fermeture du oui de l enregistrement
else

A voir également:

2 réponses

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Euh...
Ça compile ? Ça compile pas ?
Tu as un message d'erreur ?

Juste le code, là, comme ça, ça ne sert à rien...
0
jisisv Messages postés 3678 Statut Modérateur 935
 
Code indigeste: pas de modules, refactorise ton code avec des fichiers objets ou bibliothèques
Sur CCM, utilise les balises <code> /code> correctement de manière à conserver l'indentation (j'espère qu'il y en a dans ton source).
Quel os, quel compilateur ?

Johan
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
0