@ -4,20 +4,33 @@
# include "iut.h"
void MenuAdministrateur ( VilleIUT * tiut [ ] , int n ) {
char departement [ 30 ] , respon [ 30 ] , Vmodif [ 31 ] ;
int choix , nbp , i , comp , Mnbp ;
char departement [ 30 ] , respon [ 30 ] , Vmodif [ 31 ] , tVille [ 31 ] , tdepartemnt [ 30 ] , AouD ;
int choix , nbp , i , j , comp , Mnbp , BloqueChangV , BloqueChangD ;
VilleIUT V ;
printf ( " \n 1-Modifier place\n 2-Creer un departement \n 3-supprimer un département \n 4-Lancer et Arreter la phase de canditature \n 5-modifier nom responsable : " ) ;
printf ( " \n 0-Revenir au menu\n 1-Modifier place\n 2-Creer un departement \n 3-supprimer un département \n 4-Lancer et Arreter la phase de canditature \n 5-modifier nom responsable : " ) ;
scanf ( " \n %d " , & choix ) ;
if ( choix = = 0 ) {
system ( " cls " ) ; // pour Windows
system ( " clear " ) ; // pour Unix
printf ( " \n 0-Revenir au menu \n 1-Modifier place \n 2-Creer un departement \n 3-supprimer un département \n 4-Lancer et Arreter la phase de canditature \n 5-modifier nom responsable : " ) ;
scanf ( " \n %d " , & choix ) ;
}
if ( choix = = 1 ) {
printf ( " \n Ville où se situe le departement à modifier : " ) ;
scanf ( " %s " , Vmodif ) ;
printf ( " \n departement à modifier: " ) ;
scanf ( " %s " , departement ) ;
for ( j = 0 ; i < n ; i + + ) {
comp = strcmp ( tiut [ i ] - > ville , Vmodif ) ;
if ( comp = = 0 ) {
( strcmp ( tiut [ i ] - > ldept - > departement , departement ) = = 0 & & tiut [ i ] - > ldept - > AouD = = ' D ' ) ;
printf ( " pb departement arret phase de candidature " ) ;
choix = 0 ;
}
}
printf ( " \n nombre de place apres modification : " ) ;
scanf ( " %d " , & Mnbp ) ;
for ( i = 0 ; i < n ; i + + ) {
comp = strcmp ( tiut [ i ] - > ville , Vmodif ) ;
if ( comp = = 0 ) {
@ -34,9 +47,8 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
scanf ( " %s " , departement ) ;
printf ( " \n nombre de place : " ) ;
scanf ( " %d " , & nbp ) ;
printf ( " \n nom du responsable :" ) ;
printf ( " \n nom du nouveau responsable :" ) ;
scanf ( " %s " , respon ) ;
for ( i = 0 ; i < n ; i + + ) {
comp = strcmp ( tiut [ i ] - > ville , Vmodif ) ;
if ( comp = = 0 ) {
@ -46,36 +58,67 @@ void MenuAdministrateur(VilleIUT *tiut[],int n){
}
if ( choix = = 3 ) {
//supprimer departement et pauser condition pour choisir qui suppr
printf ( " \n Ville où se situe le departement : " ) ;
scanf ( " %s " , Vmodif ) ;
printf ( " \n departement : " ) ;
scanf ( " %s " , departement ) ;
printf ( " \n responsable : " ) ;
scanf ( " %s " , respon ) ;
// *resultat=recherche(V.Ville,departement,respon);
//m=suppression(m,departement,respon);
affichage ( tiut , n ) ;
for ( i = 0 ; i < n ; i + + ) {
comp = strcmp ( tiut [ i ] - > ville , Vmodif ) ;
if ( comp = = 0 ) {
tiut [ i ] - > ldept = suppression ( tiut [ i ] - > ldept , departement ) ;
}
}
}
if ( choix = = 4 ) {
//Lancer et arreter phase de canditature
printf ( " \n Ville où se situe le departement : " ) ;
scanf ( " %s " , Vmodif ) ;
printf ( " \n departement : " ) ;
scanf ( " %s " , departement ) ;
printf ( " \n Pour Activer taper A pour desactiver taper D : " ) ;
scanf ( " %c " , & AouD ) ;
for ( i = 0 ; i < n ; i + + ) {
comp = strcmp ( tiut [ i ] - > ville , Vmodif ) ;
if ( comp = = 0 ) {
tiut [ i ] - > ldept = ModifiAouD ( tiut [ i ] - > ldept , departement , AouD , n ) ;
}
}
}
if ( choix = = 5 ) {
//modification responsable
printf ( " \n Ville où se situe le departement à modifier : " ) ;
scanf ( " %s " , Vmodif ) ;
printf ( " \n departement à modifier: " ) ;
scanf ( " %s " , departement ) ;
printf ( " \n nom du responsable : " ) ;
scanf ( " %s " , respon ) ;
for ( i = 0 ; i < n ; i + + ) {
comp = strcmp ( tiut [ i ] - > ville , 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 , char * responsable ) {
}
ListeD suppression ( ListeD ld , char * departement ) {
if ( ld = = NULL )
return ld ;
if ( strcmp ( ld - > departement , departement ) = = 0 & & strcmp ( ld - > resp , responsable ) = = 0 )
if ( strcmp ( ld - > departement , departement ) = = 0 )
return suppressionTete ( ld ) ;
ld - > suivant = suppression ( ld - > suivant , departement ,responsable );
ld - > suivant = suppression ( ld - > suivant , departement );
return ld ;
}
@ -95,8 +138,38 @@ ListeD ModifinbP(ListeD ld, char departement[30], int MnbP, int n){
}
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 ;