From d085160c2779eaeef2ecc1afcdbc60b86ce014b3 Mon Sep 17 00:00:00 2001 From: Flavien BOUHAMDANI Date: Fri, 13 Jan 2023 22:32:09 +0100 Subject: [PATCH] Modif de quelques fonctions + Ajout du compte rendu --- compterendu.txt | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ sae1-02.c | 13 ++++++++----- 2 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 compterendu.txt diff --git a/compterendu.txt b/compterendu.txt new file mode 100644 index 0000000..6b9ff60 --- /dev/null +++ b/compterendu.txt @@ -0,0 +1,49 @@ +PARTIE 1 + +Listdept initialisation(void); +VilleIUT lireVille(FILE *fe); +Listdept lireDept(FILE *fe, int nbIUT); +int chargeIUT(VilleIUT* tIUT[], int taillemax); + +//////////////////////////////////// +void affichageDep(Listdept d); +void affichageAllDep(Listdept d); +void affichageville(VilleIUT *tville[], int nbville); +void afficheVilleIUT(VilleIUT *tville[], int nbville); +void afficheDepartementsIUT(VilleIUT *tville[], int nbville); +void afficheDepNbPlace(VilleIUT *tville[], int nbville); +void afficheIUTdepParticulier(VilleIUT *tville[], int nbville); + +Toutes ces fonctions d'affichage utilisent le tableau de pointeur tville et son nombre d'éléments. +///////////////////////////////////// + +///////////////////////////////////// +int rechercheVille(VilleIUT *tville[], int nbville); La fonction retourne l'index de l'IUT cherché. -1 si pas trouvé +int chercheDepModif(Listdept d, char rechercheDep[31]); La fonction modifie directement le nombre de place avec le scanf si le département en paramètre est trouvé. Si cpt = 0, non trouvé. +void modifPlace(VilleIUT *tville[], int nbville); Cette fonction regroupe recherche ville et chercheDepModif +void modifNomResponsable(VilleIUT *tville[], int nbville); +////////////////////////////////////// + +////////////////////////////////////// +Listdept ajoutDept(int posOptionnel, VilleIUT *tville[], int nbville); Si posOptionnel est à -1, cela veut dire que l'on ajoute un département à une ville existante, dans le cas contraire, on utilise ajoutDept dans la fonction ajoutIUT, afin d'y ajouter le premier département. +void ajoutIUT(VilleIUT *tIUT[], int *nbville, int taillemax); +Listdept suppressionDept(Listdept d, char rechercheDep[31]); Supprime un département, cette fonction est utilisée dans supprDepartement +void supprDepartement(VilleIUT *tville[], int* nbville); Demande la ville, puis le département à supprimer, et utilise la fonction suppressionDept. +////////////////////////////////////// + +////////////////////////////////////// +void sauvegardeDep(Listdept d, FILE *fs); Cette fonction s'occupe d'écrire dans un fichier ce qui concerne les départements, elle est utilisée dans la fonction sauvegarde. +void sauvegarde(VilleIUT *tville[], int nbville); Sauvegarde une ville, puis utilise la fonction sauvegardeDep pour y inscrire son ou ses département(s). +////////////////////////////////////// + + + + +PARTIE 3 +/////////////////////////////////////// +DepartementVille* recupererEtudiantsDepartementVille(listetuinfo* etudiants[], int nbEtudiants, char* ville, char* dep); Cette fonction récupère les informations contenues dans le tableau de pointeurs listetuinfo. On crée une structure DepartementVille pour y mettre le nom et le département qui sont en paramètres, dans le tableau. En parcourant le tableau listetuinfo, on récupère ceux qui ont faire le voeu de Clermont en informatique. +float calculerMoyenne(listetuinfo etudiant); On calcule la moyenne de chaque étudiants qui sont dans le tableau DepartementVille, on l'utilise lorsque longe charge les étudiants dans le tableau. +void trierDepartementVille(DepartementVille* departementVille, int nbElements); Cette fonction utilise le tri à bulle en fonction des moyennes des étudiants, elle le fait de manière décroissante. +void comparerEtudiants(DepartementVille* departementVille, listetuinfo* etudiants, int nbPlaces); Cette fonction prend en compte le nombre de place qu'il y a dans le département, et met la décision des étudiants à 1 aux meilleurs étudiants tant que le nombre de place est suffisant, quand il n'y a plus de place décision = 2, et si la moyenne est < à 10, on met -1 +void afficherDepartementVille(DepartementVille* departementVille) Affiche tous les étudiants qui ont été séléctionnés, en affichant leur données et les décisions. +/////////////////////////////////////// \ No newline at end of file diff --git a/sae1-02.c b/sae1-02.c index ae54236..be91716 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -183,9 +183,6 @@ void ajoutIUT(VilleIUT *tIUT[], int *nbville, int taillemax) { } // supprimer un département - - - Listdept suppressionDept(Listdept d, char rechercheDep[31]){ Listdept tmp; if(d == NULL){ exit(1); } @@ -681,7 +678,7 @@ void comparerEtudiants(DepartementVille* departementVille, listetuinfo* etudiant DepartementVille* useAllFunctionsCandidature(listetuinfo* tetu[], int nbEtu) { DepartementVille* departementVille; - departementVille = recupererEtudiantsDepartementVille(tetu, nbEtu, "clermont-ferrand", "informatique"); + departementVille = recupererEtudiantsDepartementVille(tetu, nbEtu, "Clermont-Ferrand", "informatique"); trierDepartementVille(departementVille, departementVille->nbEtudiants); comparerEtudiants(departementVille, *tetu, 5); return departementVille; @@ -693,7 +690,9 @@ void afficherDepartementVille(DepartementVille* departementVille) { printf("Nombre d'étudiants : %d\n", departementVille->nbEtudiants); printf("Etudiants :\n"); for (int i = 0; i < departementVille->nbEtudiants; i++) { - printf("\t- %s %s (numero d'étudiant : %d, moyenne : %.2f decision : %d)\n", departementVille->etudiants[i]->nometu, departementVille->etudiants[i]->prenometu, departementVille->etudiants[i]->numeroetu, departementVille->etudiants[i]->moyenne, departementVille->etudiants[i]->carte->decision); + printf("\t- %s %s (numero d'étudiant : %d, moyenne : %.2f", departementVille->etudiants[i]->nometu, departementVille->etudiants[i]->prenometu, departementVille->etudiants[i]->numeroetu, departementVille->etudiants[i]->moyenne); + if (departementVille->etudiants[i]->carte->decision == 1) printf("decision : accepté (1))\n"); + if (departementVille->etudiants[i]->carte->decision == 2) printf("decision : en attente (2))\n"); } } @@ -894,6 +893,7 @@ void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int printf("| 7 - Afficher liste DES candidatures |\n"); printf("| 8 - Afficher une seul etudiant |\n"); printf("| 9 - Afficher candidats par odre alphabétique |\n"); + printf("| 10 - Afficher les résultats candidature |\n"); printf("| |\n"); printf("| 15 - Retour |\n"); printf("| Votre choix => "); @@ -939,6 +939,9 @@ void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int triertetu(tetutri, nbEtu); affichealletu(tetutri, nbEtu); break; + case 10: + afficherDepartementVille(departementVille); + break; case 15: sauvegarde(tabVille, nb);// mettre menu général return;