@ -622,10 +622,10 @@ void menuAdmin(VilleIUT *tiut[], int *tLog, int tMax) /* Affiche un menu de choi
{
{
retirerDept(tiut,*tLog);
retirerDept(tiut,*tLog);
}
}
/*if(select == 5)
if(select==5)
{
{
miseAJourGlobale(tiut,tLog);
miseAJourGlobale(tiut,*tLog);
}*/
}
if(select==6)
if(select==6)
{
{
printf("Quel est le nom de la ville à insérer ?\nSaisie : ");/* Demande le nom de la ville à insérer */
printf("Quel est le nom de la ville à insérer ?\nSaisie : ");/* Demande le nom de la ville à insérer */
@ -685,6 +685,120 @@ void menuAdmin(VilleIUT *tiut[], int *tLog, int tMax) /* Affiche un menu de choi
}
}
voidmiseAJourGlobale(VilleIUT*tiut[],inttLog)
{
inttrouve,pos,choix=0;//Déclaration de variables | initialisation de "choix" pour rentrer dans la boucle
charville[31],dept[31];
MaillonDept*m;
Departement*d;
system("clear");
afficherTIUT(tiut,tLog);//affichage des différentes villes
printf("Dans quelle ville voulez-vous faire des mises à jour?\t");//demande sur quelle ville faire une mise à jour
scanf("%s%*c",ville);//affecte la saisie au tableau "ville"
pos=rechercheIUT(tiut,tLog,ville,&trouve);//recherche de la saisie dans le tableau des villes et associe la position dans le tableau à la variable "pos"
if(trouve!=1)//message d'erreur si la ville n'est pas trouvée
{
printf("\n\nCette ville n'existe pas\n");
clearpage();
return;
}
system("clear");
afficherVilleDep(*tiut[pos]);//Affiche les différents départements de la ville saisie
printf("Quel département de %s voulez-vous modifier?\t",ville);//demande sur quel département faire une mise à jour
scanf("%s%*c",dept);//affecte la saisie au tableau "dept"
m=rechercherDept(tiut[pos]->lDept,dept,&trouve);//recherche du département saisie et affecte l'adresse du maillon correspondant au pointeur "m"
if(trouve!=1)// message d'erreur si le département n'apparait pas dans la liste
{
printf("\n\nCe département n'existe pas dans cette ville\n");
clearpage();
return;
}
d=&(m->d);//affecte au pointeur de département "d" l'adresse de la structure "Departement" du maillon qui nous intéresse
while(choix!=9)// boucle pour le menu des mises à jour
{
system("clear");
afficherDep(m->d);// affichage du département et de ses caractéristiques
printf("\n\n");
printf("###################################### Menu des mises à jour ######################################\n");
printf("\n\t1.Mise à jour du nom du département\n\t2.Mise à jour des places du département\n\t3.Mise à jour du responsable du département\n\t9.Quitter\n\n");// affiche les modifications qu'on peut faire sur le département
printf("\tSaisie:\t");
scanf("%d%*c",&choix);// associe la saisie à la variable choix
if(choix==1)// comparaisons de la saisie pour savoir ce que l'utilisateur veut faire et appels des fonctions correspondantes
{
miseAJourNomDept(&(m->d),tiut[pos]->lDept);
}
if(choix==2)
{
miseAJourPlaces(&(m->d));
}
if(choix==3)
{
miseAJourResp(&(m->d));
}
}
afficherDep(m->d);//affichages du département après les potentielles modifications
clearpage();
}
voidmiseAJourNomDept(Departement*d,ListeDeptl)
{
inttrouve;
charnomDept[31],choix;
system("clear");
afficherDep(*d);
while(choix!='o'&&choix!='O')//Boucle pour de la saisie controlée
{
printf("\nQuel est le nouveau nom du département?\n");//Demande le nouveau nom du département
fgets(nomDept,31,stdin);//Affecte la saisie au tableau "dept"
nomDept[strlen(nomDept)-1]='\0';
rechercherDept(l,nomDept,&trouve);//Recherche si le nouveau nom de département saisie n'est pas déjà présent dans la liste des département de la ville
if(trouve==1)//Message informatif si le nouveau nom est déjà présent
{
printf("Important : Nom de département déjà présent dans l'IUT.\n");
}
printf("Êtes-vous sûr de remplacer le nom du département par %s?(o/n)\t",nomDept);//Demande confirmation
scanf("%c%*c",&choix);//affecte la saisie à la variable "choix"
}
strcpy(d->dept,nomDept);//Applique la modification
afficherDep(*d);//Affiche la modification
clearpage();
}
voidmiseAJourResp(Departement*d)
{
charresp[31],choix='n';
system("clear");
afficherDep(*d);
while(choix!='o'&&choix!='O')//Boucle pour de la saisie controlée
{
printf("\nQuel est le nouveau nom du responsable ?\t");//Demande le nouveau nom du responsable
fgets(resp,31,stdin);
resp[strlen(resp)-1]='\0';
printf("Êtes-vous sûr de remplacer le nom du responsable par %s?(o/n)\t",resp);//Demande confirmation
scanf("%c%*c",&choix);
}
strcpy(d->respAd,resp);//Applique la modification
afficherDep(*d);//Affiche la modification
clearpage();
}
voidmiseAJourPlaces(Departement*d)
{
intplaces;
charchoix='n';
system("clear");
afficherDep(*d);
while(choix!='o'&&choix!='O')//Boucle pour de la saisie controlée
{
printf("Quel est le nouveau nombre de place ?\t");//Demande le nouveau nombre de place
scanf("%d%*c",&places);
printf("Êtes-vous sûr de passer les places en première année de %d à %d ?(o/n)\t",d->nbP,places);//Demande confirmation