#include #include #include #include "iut.h" void MenuAdministrateur(VilleIUT *tiut[],int n){ char departement[30], respon[30], Vmodif[31],tVille[31], tdepartemnt[30], AouD; int choix, nbp, i, j, comp, Mnbp,good=0; VilleIUT V; printf("\n0-Revenir au menu\n1-Modifier place\n2-Creer un departement\n3-supprimer un département\n4-Lancer et Arreter la phase de canditature\n5-modifier nom responsable :"); scanf("\n%d",&choix); if(choix==0){ system("cls"); // pour Windows system("clear"); // pour Unix printf("\n0-Revenir au menu\n1-Modifier place\n2-Creer un departement\n3-supprimer un département\n4-Lancer et Arreter la phase de canditature\n5-modifier nom responsable :"); scanf("\n%d",&choix); } if(choix==1){ printf("\nVille où se situe le departement à modifier :"); scanf("%s",Vmodif); printf("\ndepartement à modifier:"); scanf("%s",departement); for(i=0;iville, Vmodif); if(comp==0){ for(j=0;j<3;j++){ if(strcmp(tiut[j]->ldept->departement, departement) == 0 && tiut[j]->ldept->AouD == 'D'){ printf("pb departement arret phase de candidature\n"); good=1; } } } } if(good==0){ printf("\nnombre de place apres modification :"); scanf("%d",&Mnbp); for(i=0;iville, Vmodif); if(comp==0){ tiut[i]->ldept=ModifinbP(tiut[i]->ldept,departement,Mnbp,n); } } } } if(choix==2){ //creer departemement printf("\nVille où se situe le departement :"); scanf("%s",Vmodif); printf("\ndepartement a creer :"); scanf("%s",departement); printf("\nnombre de place :"); scanf("%d",&nbp); printf("\nnom du nouveau responsable :"); scanf("%s",respon); for(i=0;iville, Vmodif); if(comp==0){ tiut[i]->ldept=Enfiler(tiut[i]->ldept,departement,nbp,respon); } } } if(choix==3){ //supprimer departement et pauser condition pour choisir qui suppr printf("\nVille où se situe le departement :"); scanf("%s",Vmodif); printf("\ndepartement :"); scanf("%s",departement); for(i=0;iville, Vmodif); if(comp==0){ tiut[i]->ldept=suppression(tiut[i]->ldept,departement); } } } if(choix==4){ //Lancer et arreter phase de canditature printf("\nVille où se situe le departement :"); scanf("%s",Vmodif); printf("\ndepartement :"); scanf("%s",departement); printf("\nPour Activer taper A pour desactiver taper D :"); scanf("%c",&AouD); for(i=0;iville, Vmodif); if(comp==0){ tiut[i]->ldept=ModifiAouD(tiut[i]->ldept,departement,AouD,n); } } } if(choix==5){ //modification responsable printf("\nVille où se situe le departement à modifier :"); scanf("%s",Vmodif); printf("\ndepartement à modifier:"); scanf("%s",departement); printf("\nnom du responsable :"); scanf("%s",respon); for(i=0;iville, Vmodif); if(comp==0){ tiut[i]->ldept=ModifiRespon(tiut[i]->ldept,departement,respon,n); } } } affichage(tiut,n); } ListeD suppressionTete(ListeD ld){ ListeD ldsvt; ldsvt=ld->suivant; free(ld); return ldsvt; } ListeD suppression(ListeD ld,char *departement){ if(ld==NULL) return ld; if(strcmp(ld->departement,departement) ==0 ) return suppressionTete(ld); ld->suivant=suppression(ld->suivant,departement); return ld; } ListeD ModifinbP(ListeD ld, char departement[30], int MnbP, int n){ int comp,trouv,i; for(i=0;i<=n;i++){ comp=strcmp(ld->departement,departement); if(comp==0) trouv=i; } if(trouv==0){ printf("departement non existant"); exit(1); } else{ ld->nbP=MnbP; } return ld; } ListeD ModifiRespon(ListeD ld, char departement[30], char respon[30], int n){ int comp,trouv,i; for(i=0;i<=n;i++){ comp=strcmp(ld->departement,departement); if(comp==0) trouv=i; } if(trouv==0){ printf("departement non existant"); exit(1); } else{ strcpy(ld->resp, respon); } return ld; } ListeD ModifiAouD(ListeD ld, char departement[30], char AouD,int n){ int comp,trouv,i; for(i=0;i<=n;i++){ comp=strcmp(ld->departement,departement); if(comp==0) trouv=i; } if(trouv==0){ printf("departement non existant"); exit(1); } else{ ld->AouD = AouD; } return ld; } ListeD Enfiler(ListeD ld, char departement[30], int nbP, char resp[30]) { MaillonDept *mN; mN = (MaillonDept*)malloc(sizeof(MaillonDept)); if(mN==NULL){printf("pb ouv malloc");exit(1);} strcpy(mN->departement, departement); mN->nbP = nbP; strcpy(mN->resp, resp); mN->suivant = NULL; printf("\naa"); if (ld == NULL) { ld = mN; } else { MaillonDept *mD; mD = ld; while (mD->suivant != NULL) { mD = mD->suivant; } mD->suivant = mN; } return ld; } /* VilleIUT defiler(VilleIUT V){ MaillonDept *temp; if(testVide(V)){ printf("testVide"); return V; } temp=V.Ville; V.Ville=temp->suivant; free(temp); if(V.Ville==NULL) V.Idept=NULL; return V; } */