@ -2,11 +2,12 @@
# include <stdlib.h>
# include <string.h>
# include "iut.h"
/*
void MenuAdministrateur ( VilleIUT V ) {
void MenuAdministrateur ( VilleIUT * tiut [ ] , int n ) {
char departement [ 30 ] , respon [ 30 ] ;
int choix , nbp ;
Maillon m ;
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 " ) ;
scanf ( " %d " , & choix ) ;
if ( choix = = 1 ) {
@ -20,7 +21,7 @@ void MenuAdministrateur(VilleIUT V){
scanf ( " %d " , & nbp ) ;
printf ( " \n responsable : " ) ;
scanf ( " %s " , respon ) ;
V = Enfiler ( V , departement , nbp , respon ) ;
//V=Enfiler(V,departement,nbp,respon);
}
if ( choix = = 3 ) {
//supprimer departement et pauser condition pour choisir qui suppr
@ -29,8 +30,8 @@ void MenuAdministrateur(VilleIUT V){
printf ( " \n responsable : " ) ;
scanf ( " %s " , respon ) ;
// *resultat=recherche(V.Ville,departement,respon);
m = suppression ( m , departement , respon ) ;
affich erE( m ) ;
//m=suppression(m,departement,respon);
affich age( tiut , n ) ;
}
if ( choix = = 4 ) {
//Lancer et arreter phase de canditature
@ -38,31 +39,58 @@ void MenuAdministrateur(VilleIUT V){
if ( choix = = 5 ) {
//modification responsable
}
afficher ( V ) ;
}
Maillon suppressionTete ( Maillon m ) {
Maillon svt;
svt= m - > suivant ;
free ( m ) ;
return svt;
ListeD suppressionTete ( ListeD ld ) {
ListeD ld svt;
ldsvt= ld - > suivant ;
free ( ld ) ;
return ld svt;
}
Maillon suppression ( Maillon m , char * departement , char * responsable ) {
if ( m = = NULL )
return m ;
if ( strcmp ( m - > departement , departement ) = = 0 & & strcmp ( m - > resp , responsable ) = = 0 )
return suppressionTete ( m ) ;
m- > suivant = suppression ( m - > suivant , departement , responsable ) ;
return m ;
ListeD suppression ( ListeD ld , char * departement , char * responsable ) {
if ( ld = = NULL )
return ld ;
if ( strcmp ( ld - > departement , departement ) = = 0 & & strcmp ( ld - > resp , responsable ) = = 0 )
return suppressionTete ( ld ) ;
ld- > suivant = suppression ( ld - > suivant , departement , responsable ) ;
return ld ;
}
void afficherE ( Maillon m ) {
if ( m = = NULL ) return ;
printf ( " \n %s \t " , m - > departement ) ;
printf ( " %d \t " , m - > nbP ) ;
printf ( " %s \t " , m - > resp ) ;
afficherE ( m - > suivant ) ;
/*
VilleIUT Enfiler ( VilleIUT V , char * departement , int nbP , char * resp ) {
MaillonDept * m ;
m = ( MaillonDept * ) malloc ( sizeof ( MaillonDept ) ) ;
if ( m = = NULL ) { printf ( " pb ouv malloc " ) ; exit ( 1 ) ; }
strcpy ( m - > departement , departement ) ;
m - > nbP = nbP ;
strcpy ( m - > resp , resp ) ;
m - > suivant = NULL ;
if ( testVide ( V ) ) {
V . Ville = m ;
V . Idept = m ;
}
else {
V . Idept - > suivant = m ;
V . Idept = m ;
}
return V ;
}
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 ;
}
*/