Ajout de la fonction de modification du responsable d'un département

master
Kyllian Chabanon 2 years ago
parent 214d15ee10
commit 0bc63869ee

@ -18,7 +18,7 @@ void modificationNbPDept(VilleIUT *tiut[], int nb)
posDept = rechercheDept(tiut[posIUT]->ldept, deptModif, &trouve); posDept = rechercheDept(tiut[posIUT]->ldept, deptModif, &trouve);
if (trouve == false) if (trouve == false)
{ {
printf("Cet département n'existe pas dans cet IUT. Veuillez réessayer.\n"); printf("Ce département n'existe pas dans cet IUT. Veuillez réessayer.\n");
return; return;
} }
printf("Il y a actuellement %d places dans ce département. Entrez le nouveau nombre de places :\n> ", getNbP(tiut[posIUT]->ldept, posDept)); printf("Il y a actuellement %d places dans ce département. Entrez le nouveau nombre de places :\n> ", getNbP(tiut[posIUT]->ldept, posDept));
@ -49,11 +49,12 @@ void creationDept(VilleIUT *tiut[], int nb)
return; return;
} }
printf("Entrez le nombre de places dans le département :\n> "); printf("Entrez le nombre de places dans le département :\n> ");
scanf("%s%*c", &nbP); scanf("%d%*c", &nbP);
printf("Entrez le nom du responsable :\n> "); printf("Entrez le nom du responsable :\n> ");
fgets(nomResp, 30, stdin); fgets(nomResp, 30, stdin);
nomResp[strlen(nomResp) - 1] = '\0';
tiut[posIUT]->ldept = inserer(tiut[posIUT]->ldept, nomDept, nbP, nomResp); tiut[posIUT]->ldept = inserer(tiut[posIUT]->ldept, nomDept, nbP, nomResp);
printf("Vous avez créé le département \"%s\", avec %d places. Son représentant est %s.\n", nomDept, nbP, nomResp); printf("Vous avez créé le département \"%s\", avec %d places. Son responsable est %s.\n", nomDept, nbP, nomResp);
} }
int suppressionDept(VilleIUT *tiut[], int nb) int suppressionDept(VilleIUT *tiut[], int nb)
@ -74,7 +75,7 @@ int suppressionDept(VilleIUT *tiut[], int nb)
posDept = rechercheDept(tiut[posIUT]->ldept, nomDept, &trouve); posDept = rechercheDept(tiut[posIUT]->ldept, nomDept, &trouve);
if (trouve == false) if (trouve == false)
{ {
printf("Cet département n'existe pas dans cet IUT. Veuillez réessayer.\n"); printf("Ce département n'existe pas dans cet IUT. Veuillez réessayer.\n");
return nb; return nb;
} }
printf("Voulez-vous vraiment supprimer le département %s de l'IUT %s ? (o/N)\n> ", nomDept, iut); printf("Voulez-vous vraiment supprimer le département %s de l'IUT %s ? (o/N)\n> ", nomDept, iut);
@ -101,3 +102,32 @@ int suppressionDept(VilleIUT *tiut[], int nb)
} }
return nb; return nb;
} }
void modificationRespDept(VilleIUT *tiut[], int nb)
{
char iutModif[30], deptModif[30], nouvResp[30];
int posIUT, posDept;
bool trouve;
printf("Dans quel IUT se situe le département que vous voulez modifier ?\n> ");
scanf("%s", iutModif);
posIUT = rechercheVille(tiut, nb, iutModif, &trouve);
if (trouve == false)
{
printf("Cet IUT n'existe pas. Veuillez réessayer.\n");
return;
}
printf("Quel est le département dont vous voulez modifier le responsable ?\n> ");
scanf("%s%*c", deptModif);
posDept = rechercheDept(tiut[posIUT]->ldept, deptModif, &trouve);
if (trouve == false)
{
printf("Ce département n'existe pas dans cet IUT. Veuillez réessayer.\n");
return;
}
printf("Le responsable de ce département est actuellement %s. Entrez le nouveau responsable :\n> ", getResp(tiut[posIUT]->ldept, posDept));
fgets(nouvResp, 30, stdin);
nouvResp[strlen(nouvResp) - 1] = '\0';
setResp(tiut[posIUT]->ldept, posDept, nouvResp);
printf("Le nouveau responsable est %s.\n", getResp(tiut[posIUT]->ldept, posDept));
}

@ -87,9 +87,9 @@ void menuAdministrateur(void)
printf("\t1 - Modifier le nombre de places dans un département\n"); printf("\t1 - Modifier le nombre de places dans un département\n");
printf("\t2 - Créer un département dans un IUT\n"); printf("\t2 - Créer un département dans un IUT\n");
printf("\t3 - Supprimer un département d'un IUT\n"); printf("\t3 - Supprimer un département d'un IUT\n");
printf("\t4 - Lancer la phase de candidature\n"); printf("\t4 - Modifier le responsable d'un département\n");
printf("\t5 - Stopper la phase de candidature\n"); printf("\t5 - Lancer la phase de candidature\n");
printf("\t6 - Modifier le responsable d'un département\n"); printf("\t6 - Stopper la phase de candidature\n");
printf("\t9 - Quitter\n"); printf("\t9 - Quitter\n");
printf("\nEntrez votre choix :\n> "); printf("\nEntrez votre choix :\n> ");
scanf("%d", &choix); scanf("%d", &choix);
@ -109,7 +109,7 @@ void menuAdministrateur(void)
break; break;
case 4: case 4:
c = true; c = true;
// // modificationRespDept(tiut, nb);
break; break;
case 5: case 5:
c = true; c = true;

@ -27,6 +27,7 @@ int chargementVillesIUT(VilleIUT *tiut[])
{ {
fscanf(file, "%s%s%d", ville, dept, &nbP); fscanf(file, "%s%s%d", ville, dept, &nbP);
fgets(resp, 30, file); fgets(resp, 30, file);
resp[strlen(resp) -1] = '\0';
insertPos = rechercheVille(tiut, i, ville, &trouve); insertPos = rechercheVille(tiut, i, ville, &trouve);
if (trouve == 0) if (trouve == 0)

@ -16,3 +16,4 @@ void affichageDeptIUT(VilleIUT *tiut[], int nb);
void modificationNbPDept(VilleIUT *tiut[], int nb); void modificationNbPDept(VilleIUT *tiut[], int nb);
void creationDept(VilleIUT *tiut[], int nb); void creationDept(VilleIUT *tiut[], int nb);
int suppressionDept(VilleIUT *tiut[], int nb); int suppressionDept(VilleIUT *tiut[], int nb);
void modificationRespDept(VilleIUT *tiut[], int nb);

@ -137,3 +137,21 @@ ListeDept supprimer(ListeDept l, char departement[])
l->suiv = supprimer(l->suiv, departement); l->suiv = supprimer(l->suiv, departement);
return l; return l;
} }
char* getResp(ListeDept l, int pos)
{
for (int i = 0; i < pos; i++)
{
l = l->suiv;
}
return l->resp;
}
void setResp(ListeDept l, int pos, char valeur[])
{
for (int i = 0; i < pos; i++)
{
l = l->suiv;
}
strcpy(l->resp, valeur);
}

@ -28,3 +28,5 @@ ListeDept supprimer(ListeDept l, char departement[]);
int getNbP(ListeDept l, int pos); int getNbP(ListeDept l, int pos);
void setNbP(ListeDept l, int pos, int valeur); void setNbP(ListeDept l, int pos, int valeur);
char* getResp(ListeDept l, int pos);
void setResp(ListeDept l, int pos, char valeur[]);

@ -9,7 +9,8 @@ int main(void)
affichageDeptIUT(tiut, nbVilles); affichageDeptIUT(tiut, nbVilles);
// modificationNbPDept(tiut, nbVilles); // modificationNbPDept(tiut, nbVilles);
// creationDept(tiut, nbVilles); // creationDept(tiut, nbVilles);
nbVilles = suppressionDept(tiut, nbVilles); // nbVilles = suppressionDept(tiut, nbVilles);
modificationRespDept(tiut, nbVilles);
affichageDeptIUT(tiut, nbVilles); affichageDeptIUT(tiut, nbVilles);
return 0; return 0;
} }

Loading…
Cancel
Save