From 4ea3feafd724bd002186b334a89e980df166bb3b Mon Sep 17 00:00:00 2001 From: Kyllian Chabanon Date: Fri, 6 Jan 2023 15:13:00 +0100 Subject: [PATCH] Ajout de la fonction de chargement --- SAE.h | 2 +- administrateur.c | 4 +- exe | Bin 27120 -> 0 bytes partie1.c | 2 +- partie_3.c | 378 +++++++++++++++++++++++++---------------------- structures.h | 2 +- 6 files changed, 203 insertions(+), 185 deletions(-) delete mode 100755 exe diff --git a/SAE.h b/SAE.h index 7b1e09f..da66b4c 100755 --- a/SAE.h +++ b/SAE.h @@ -52,7 +52,7 @@ Departement lireDpt(FILE *flot, ListeDepartement dpt); void afficheDept(Departement dpt); Admission lireCandidat(FILE *flot, ListeAdmission la); void afficherCandidat(Admission candidat); -ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30], ListeAdmission la); +int chargerCandidats(MaillonEtudiant *tetud[]); void sauvegarderCandidats(ListeAdmission listeCandidats, char dptResAdmi[30]); void afficherCandidatsAdmis(ListeAdmission listeCandidats); void afficherCandidatsNonAdmis(ListeAdmission listeCandidats); diff --git a/administrateur.c b/administrateur.c index bd19b7e..9e2d616 100644 --- a/administrateur.c +++ b/administrateur.c @@ -60,7 +60,7 @@ void creationDept(VilleIUT *tiut[], int nb) int suppressionDept(VilleIUT *tiut[], int nb) { char nomDept[30], iut[30], choix; - int posIUT, posDept; + int posIUT; bool trouve; printf("Dans quel IUT voulez-vous supprimer un département ?\n> "); scanf("%s", iut); @@ -72,7 +72,7 @@ int suppressionDept(VilleIUT *tiut[], int nb) } printf("Quel département voulez-vous supprimer ?\n> "); scanf("%s", nomDept); - posDept = rechercheDept(tiut[posIUT]->ldept, nomDept, &trouve); + rechercheDept(tiut[posIUT]->ldept, nomDept, &trouve); if (trouve == false) { printf("Ce département n'existe pas dans cet IUT. Veuillez réessayer.\n"); diff --git a/exe b/exe deleted file mode 100755 index 379b279d8adc7dfebdb223cb3d7684ebb5f93f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27120 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 diff --git a/partie1.c b/partie1.c index abd2d58..af7f2e0 100755 --- a/partie1.c +++ b/partie1.c @@ -67,7 +67,7 @@ int rechercheVille(VilleIUT *tiut[], int nb, char val[], bool *trouve) void sauvegardeVillesIUT(VilleIUT *tiut[], int nb) { char ville[30], dept[30], resp[30]; - int nbP, posDept; + int nbP; FILE *file = fopen("informationsIUT.txt", "w"); if (file == NULL) { diff --git a/partie_3.c b/partie_3.c index 6d38682..aa4e7fc 100755 --- a/partie_3.c +++ b/partie_3.c @@ -1,208 +1,226 @@ #include "SAE.h" -Departement lireDept(FILE *flot, ListeDepartement dpt) -{ - fscanf(flot, "%s\n%d\n%d\n", dpt.departement, &dpt.decisionAdmission, &dpt.decisionCandidat); - return dpt; -} +// Departement lireDept(FILE *flot, ListeDepartement dpt) +// { +// fscanf(flot, "%s\n%d\n%d\n", dpt.departement, &dpt.decisionAdmission, &dpt.decisionCandidat); +// return dpt; +// } -void afficheDept(Departement dpt) -{ - printf("\t%s\t%d\t%d", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat); -} +// void afficheDept(Departement dpt) +// { +// printf("\t%s\t%d\t%d", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat); +// } -Admission lireCandidat(FILE *flot, ListeAdmission la, char dptResAdmis[]) -{ - int i = 0; - fscanf(flot, "%d\n", &la->v.num); - fgets(la->v.nom, 22, flot); - la->v.nom[strlen(la->v.nom) - 1] = '\0'; - fgets(la->v.prenom, 22, flot); - la->v.prenom[strlen(la->v.prenom) - 1] = '\0'; - fscanf(flot, "%d\t%d\t%d\t%d\n%d\n%s\n", &la->v.tabMatiere[0], &la->v.tabMatiere[1], &la->v.tabMatiere[2], &la->v.tabMatiere[3], &la->v.nbChoix, la->v.ville); - if (la->v.nbChoix == 0) - { - listenouv(); - return la->v; - } - ajouterDpt(la->v.ldept, lireDept(flot, la->v.ldept)); - while (!feof(flot) && i < la->v.nbChoix) - { - if (strcmp(la->v.ldept, dptResAdmi) == 0) - { - la->v.ldept = insererDpt(la->v.ldept, la->v.ldept->v.departement); - } - ajouterDpt(la->v.ldept, lireDept(flot, la->v.ldept)); - i++; - } - return la->v; -} +// Admission lireCandidat(FILE *flot, ListeAdmission la, char dptResAdmis[]) +// { +// int i = 0; +// fscanf(flot, "%d\n", &la->v.num); +// fgets(la->v.nom, 22, flot); +// la->v.nom[strlen(la->v.nom) - 1] = '\0'; +// fgets(la->v.prenom, 22, flot); +// la->v.prenom[strlen(la->v.prenom) - 1] = '\0'; +// fscanf(flot, "%d\t%d\t%d\t%d\n%d\n%s\n", &la->v.tabMatiere[0], &la->v.tabMatiere[1], &la->v.tabMatiere[2], &la->v.tabMatiere[3], &la->v.nbChoix, la->v.ville); +// if (la->v.nbChoix == 0) +// { +// listenouv(); +// return la->v; +// } +// ajouterDpt(la->v.ldept, lireDept(flot, la->v.ldept)); +// while (!feof(flot) && i < la->v.nbChoix) +// { +// if (strcmp(la->v.ldept, dptResAdmi) == 0) +// { +// la->v.ldept = insererDpt(la->v.ldept, la->v.ldept->v.departement); +// } +// ajouterDpt(la->v.ldept, lireDept(flot, la->v.ldept)); +// i++; +// } +// return la->v; +// } -void afficherCandidats(ListeAdmission la) -{ - int i; - printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", la->v.num, la->v.nom, la->v.prenom, la->v.tabMatiere[0], la->v.tabMatiere[1], la->v.tabMatiere[2], la->v.tabMatiere[3], la->v.nbChoix, la->v.ville); - for (i = 0; i < la->v.nbChoix; i++) - { - afficherDpt(la->v.ldept->v); - la->v.ldept = la->v.ldept->suiv; - } - printf("\n"); -} +// void afficherCandidats(ListeAdmission la) +// { +// int i; +// printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", la->v.num, la->v.nom, la->v.prenom, la->v.tabMatiere[0], la->v.tabMatiere[1], la->v.tabMatiere[2], la->v.tabMatiere[3], la->v.nbChoix, la->v.ville); +// for (i = 0; i < la->v.nbChoix; i++) +// { +// afficherDpt(la->v.ldept->v); +// la->v.ldept = la->v.ldept->suiv; +// } +// printf("\n"); +// } // Regarder si le nombre de choix est = à 0 Que se passe-t-il ? -ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30], ListeAdmission la) +int chargerCandidats(MaillonEtudiant *tetud[]) { - FILE *flot; - listenouv(); - flot = fopen(ficAdmission, "r"); - if (flot == NULL) + FILE *file; + file = fopen("resultats.txt", "r"); + int nbCandidats, i = 0; + Choix choix; + if (file == NULL) { printf("Erreur d'ouverture du fichier !\n"); exit(1); } - insererAdm(la, lireCandidat(flot, la, dptResAdmi)); - while (!feof(flot)) + fscanf(file, "%d", &nbCandidats); + while(!feof(file)) { - la = insererCand(la, la->v); - la->v = lireCandidat(flot, la, dptResAdmi); - } - fclose(flot); - return la; -} - -void sauvegarderCandidats(ListeAdmission la, char dptResAdmi[30]) -{ - FILE *flot; - flot = fopen("admissionInfo.txt", "w"); - if (flot == NULL) - { - printf("Erreur d'ouverture du fichier !\n"); - exit(1); - } - while (!videAdm(la)) - { - fprintf(flot, "%d\n%s\n%s\n%d\t%d\t%d\t%d\n%d\n%s\n", la->v.num, la->v.nom, la->v.prenom, la->v.tabMatiere[0], la->v.tabMatiere[1], la->v.tabMatiere[2], la->v.tabMatiere[3], la->v.nbChoix, la->v.ville); - while (!videDpt(la->v.ldept)) + tetud[i] = (MaillonEtudiant*)malloc(sizeof(MaillonEtudiant)); + if (tetud[i]==NULL) { - fprintf(flot, "%s\n%d\n%d\n", la->v.ldept->v.departement, la->v.ldept->v.decisionAdmission, la->v.ldept->v.decisionCandidat); - la->v.ldept = la->v.ldept->suiv; + printf("Erreur malloc"); + exit(2); } - la = la->suiv; - } - fclose(flot); -} - -void afficherCandidatsAdmis(ListeAdmission la) -{ - while (!videCand(la->v.ldept)) - { - if (la->v.ldept->v.decisionAdmission == 1) + fscanf("%d%s", tetud[i]->num, tetud[i]->nom); + fgets(tetud[i]->prenom, 22, stdin); + tetud[i]->prenom[strlen(tetud[i]->prenom - 1)] = '\0'; + for (int note = 0; note < 5; note++) { - afficherCandidats(la); + fscanf(file, "%f", tetud[i]->tabMatiere[note]); } - la->v.ldept = la->v.ldept->suiv; - } -} - -void afficherCandidatsNonAdmis(ListeAdmission la) -{ - while (!videCand(la->v.ldept)) - { - if (la->v.ldept->v.decisionAdmission == 0) + fscanf(file, "%d", tetud[i]->nbChoix); + tetud[i]->lChoix = listenouvChoix(); + for (int n = 0; n < tetud[i]->nbChoix; n++) { - afficherCandidats(la); + fscanf(file, "%s%s%d%d", choix.ville, choix.departement, &choix.decisionAdmission, &choix.decisionCandidat); + tetud[i]->lChoix = insererChoix(tetud[i]->lChoix, choix); } } -} -void afficherCandidatsAttente(ListeAdmission la) -{ - while (!videCand(la->v.ldept)) - { - if (la->v.ldept->v.decisionAdmission == 2) - { - afficherCandidats(la); - } - la = la->suiv; - } } -void afficherCandidatsDpt(ListeAdmission la) -{ - while (!videAdm(la->v.ldept)) - { - afficherCandidats(la); - la = la->suiv; - } -} +// void sauvegarderCandidats(ListeAdmission la, char dptResAdmi[30]) +// { +// FILE *flot; +// flot = fopen("admissionInfo.txt", "w"); +// if (flot == NULL) +// { +// printf("Erreur d'ouverture du fichier !\n"); +// exit(1); +// } +// while (!videAdm(la)) +// { +// fprintf(flot, "%d\n%s\n%s\n%d\t%d\t%d\t%d\n%d\n%s\n", la->v.num, la->v.nom, la->v.prenom, la->v.tabMatiere[0], la->v.tabMatiere[1], la->v.tabMatiere[2], la->v.tabMatiere[3], la->v.nbChoix, la->v.ville); +// while (!videDpt(la->v.ldept)) +// { +// fprintf(flot, "%s\n%d\n%d\n", la->v.ldept->v.departement, la->v.ldept->v.decisionAdmission, la->v.ldept->v.decisionCandidat); +// la->v.ldept = la->v.ldept->suiv; +// } +// la = la->suiv; +// } +// fclose(flot); +// } -ListeAdmission MoyenneCandidats(ListeAdmission la) -{ - while (!videAdm(la)) - { - la->v.tabMatiere[4] = (la->v.tabMatiere[0] + la->v.tabMatiere[1] + la->v.tabMatiere[2] + la->v.tabMatiere[3]) / 4; - la = la->suiv; - } - return la; -} +// void afficherCandidatsAdmis(ListeAdmission la) +// { +// while (!videCand(la->v.ldept)) +// { +// if (la->v.ldept->v.decisionAdmission == 1) +// { +// afficherCandidats(la); +// } +// la->v.ldept = la->v.ldept->suiv; +// } +// } -// Comment definir la note sur 20 mise lors de l'etude du dossier ? -// Ajouter une variable dans la structure Admission ? -// Ou mettre la liste et la note dans un tableau ? -// Après examen de chaque dossier de candidature, -// le jury doit regarder ou la note peut etre calculée automatiquement ? +// void afficherCandidatsNonAdmis(ListeAdmission la) +// { +// while (!videCand(la->v.ldept)) +// { +// if (la->v.ldept->v.decisionAdmission == 0) +// { +// afficherCandidats(la); +// } +// } +// } -int modifNoteMinAdmis() -{ - int noteMaths, noteFrançais, noteAnglais, noteSpe; - printf("Entrez la nouvelle note minimale d'admission en maths (-1 pour quitter) : "); - while (noteMaths < 0 || noteMaths > 20) - { - scanf("%d", ¬eMaths); - if (noteMaths == -1) - { - break; - } - printf("La note doit être comprise entre 0 et 20 !\n"); - } - printf("Entrez la nouvelle note minimale d'admission en français (-1 pour quitter) : "); - while (noteFrançais < 0 || noteFrançais > 20) - { - scanf("%d", ¬eFrançais); - if (noteFrançais == -1) - { - break; - } - printf("La note doit être comprise entre 0 et 20 !\n"); - } - printf("Entrez la nouvelle note minimale d'admission en anglais (-1 pour quitter) : "); - while (noteAnglais < 0 || noteAnglais > 20) - { - scanf("%d", ¬eAnglais); - if (noteAnglais == -1) - { - break; - } - printf("La note doit être comprise entre 0 et 20 !\n"); - } - printf("Entrez la nouvelle note minimale d'admission en spécialité (-1 pour quitter) : "); - while (noteSpe < 0 || noteSpe > 20) - { - scanf("%d", ¬eSpe); - if (noteSpe == -1) - { - break; - } - printf("La note doit être comprise entre 0 et 20 !\n"); - } -} +// void afficherCandidatsAttente(ListeAdmission la) +// { +// while (!videCand(la->v.ldept)) +// { +// if (la->v.ldept->v.decisionAdmission == 2) +// { +// afficherCandidats(la); +// } +// la = la->suiv; +// } +// } -int modifNbAdmisMax() -{ - int nbAdmisMax; - printf("Entrez le nouveau nombre d'admis maximum : "); - scanf("%d", &nbAdmisMax); - return nbAdmisMax; -} +// void afficherCandidatsDpt(ListeAdmission la) +// { +// while (!videAdm(la->v.ldept)) +// { +// afficherCandidats(la); +// la = la->suiv; +// } +// } + +// ListeAdmission MoyenneCandidats(ListeAdmission la) +// { +// while (!videAdm(la)) +// { +// la->v.tabMatiere[4] = (la->v.tabMatiere[0] + la->v.tabMatiere[1] + la->v.tabMatiere[2] + la->v.tabMatiere[3]) / 4; +// la = la->suiv; +// } +// return la; +// } + +// // Comment definir la note sur 20 mise lors de l'etude du dossier ? +// // Ajouter une variable dans la structure Admission ? +// // Ou mettre la liste et la note dans un tableau ? +// // Après examen de chaque dossier de candidature, +// // le jury doit regarder ou la note peut etre calculée automatiquement ? + +// int modifNoteMinAdmis() +// { +// int noteMaths, noteFrançais, noteAnglais, noteSpe; +// printf("Entrez la nouvelle note minimale d'admission en maths (-1 pour quitter) : "); +// while (noteMaths < 0 || noteMaths > 20) +// { +// scanf("%d", ¬eMaths); +// if (noteMaths == -1) +// { +// break; +// } +// printf("La note doit être comprise entre 0 et 20 !\n"); +// } +// printf("Entrez la nouvelle note minimale d'admission en français (-1 pour quitter) : "); +// while (noteFrançais < 0 || noteFrançais > 20) +// { +// scanf("%d", ¬eFrançais); +// if (noteFrançais == -1) +// { +// break; +// } +// printf("La note doit être comprise entre 0 et 20 !\n"); +// } +// printf("Entrez la nouvelle note minimale d'admission en anglais (-1 pour quitter) : "); +// while (noteAnglais < 0 || noteAnglais > 20) +// { +// scanf("%d", ¬eAnglais); +// if (noteAnglais == -1) +// { +// break; +// } +// printf("La note doit être comprise entre 0 et 20 !\n"); +// } +// printf("Entrez la nouvelle note minimale d'admission en spécialité (-1 pour quitter) : "); +// while (noteSpe < 0 || noteSpe > 20) +// { +// scanf("%d", ¬eSpe); +// if (noteSpe == -1) +// { +// break; +// } +// printf("La note doit être comprise entre 0 et 20 !\n"); +// } +// } + +// int modifNbAdmisMax() +// { +// int nbAdmisMax; +// printf("Entrez le nouveau nombre d'admis maximum : "); +// scanf("%d", &nbAdmisMax); +// return nbAdmisMax; +// } diff --git a/structures.h b/structures.h index f829bf8..65d5c17 100644 --- a/structures.h +++ b/structures.h @@ -38,7 +38,7 @@ typedef struct int num; char nom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine char prenom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine - float tabMatiere[4]; + float tabMatiere[5]; int nbChoix; ListeChoix lChoix; } MaillonEtudiant;