From 6c82e964dfc3103c7064a4351b544a29278e6352 Mon Sep 17 00:00:00 2001 From: Roxane ROSSETTO Date: Tue, 27 Dec 2022 11:06:14 +0100 Subject: [PATCH] on avance --- part2.c | 116 +++++++++++++++++++++++++++++++----------------------- part2.don | 47 +++++++++++----------- part2.h | 4 +- test | Bin 0 -> 22040 bytes 4 files changed, 90 insertions(+), 77 deletions(-) create mode 100644 test diff --git a/part2.c b/part2.c index b992afd..5e3432e 100644 --- a/part2.c +++ b/part2.c @@ -80,21 +80,21 @@ Candidat lireCa(FILE *fe) -Listechx InsertTC(Listechx list, Maillonchx m)//Insert en tête de la liste +Listechx InsertTC(Listechx list, Choix m)//Insert en tête de la liste { Maillonchx *mchx; mchx = (Maillonchx*)malloc(sizeof(Maillonchx)); if (mchx == NULL){printf("pb malloc"); exit(-1);} - mchx->chx = m.chx; + mchx->chx = m; mchx->suivchx = list; return mchx; } -Listechx InsertC(Listechx list, Maillonchx m)//insert globalement dans liste de choix +Listechx InsertC(Listechx list, Choix m)//insert globalement dans liste de choix { if (list == NULL){return InsertTC(list, m);} - if (strcmp(list->chx.dptmt, m.chx.dptmt)>0){return InsertTC(list, m);} + if (strcmp(list->chx.dptmt, m.dptmt)>0){return InsertTC(list, m);} list->suivchx = InsertC(list->suivchx, m); return list; } @@ -198,10 +198,11 @@ Listecand Chargementlistecandidat(FILE *fe, Listecand lC, int *nbC)// fonction d Choix c; c = lireC(fe);//lire le maillon avec la fonction plus haut chx.chx = c;//le choix du maillon est celui lu au dessus - Ca.lchx = InsertC(Ca.lchx, chx);//insert le maillon à sa bonne place + Ca.lchx = InsertC(Ca.lchx, c);//insert le maillon à sa bonne place } lC = Insert(lC, Ca); } + fclose(fe); return lC; } @@ -212,24 +213,70 @@ void testchgt(void) int nbC = 0; Listecand lC=NULL; FILE *fe; - + printf("avantouverture\n"); fe=fopen("part2.don", "r"); if (fe == NULL){printf("pb ouv file"); return;} + printf("apres ouverture\n"); + lC = Chargementlistecandidat(fe, lC, &nbC); + printf("apres chargement\n"); + AffListeCandidat(lC); + printf("apres affichage\n"); + Save(lC, nbC); } +void Save(Listecand lC, int nbC) +{ + FILE *fs; + fs=fopen("part2.don", "w"); + if (fs == NULL){printf("pb ouv fichier part2.don\n");exit(-1);} + int cpt; + fprintf(fs, "%d\n", nbC); + + saveC(lC, fs); +} + +void saveC(Listecand lC, FILE *fs) +{ + if (lC == NULL)return; + fprintf(fs, "%d\n", lC->cand.nEtu); + fprintf(fs, "%s\n", lC->cand.nom); + fprintf(fs, "%s\n", lC->cand.prenom); + fprintf(fs, "%.2f\t %.2f\t %.2f\t %.2f\n", lC->cand.moymat, lC->cand.moyfr, lC->cand.moyen, lC->cand.moyspe); + fprintf(fs, "%d\n", lC->cand.nbchx); + saveChx(lC->cand.lchx, fs); + saveC(lC->suivcand, fs); +} + + + +void saveChx(Listechx lCh, FILE *fs) +{ + if (lCh == NULL)return; + fprintf(fs, "%s\n", lCh->chx.ville); + fprintf(fs, "%s\n", lCh->chx.dptmt); + fprintf(fs, "%d\n", lCh->chx.dec); + fprintf(fs, "%d\n", lCh->chx.valid); + saveChx(lCh->suivchx, fs); +} + + + void test (void){ - int menu1, menugest1, numet; + int menu1, menugest1, numet,modifcand; + char nomet[20]; Candidat cand1; + Choix choix1; Listecand lcand, l2cand; + printf("Menu :\n");//Premier affichage menu pour choisir si on veut afficher le menu d'un candidat ou toutes les candidatures printf("(1) Gestion Candidature\n(2) Affichage Candidature\n"); scanf("%d", &menu1); @@ -248,21 +295,24 @@ void test (void){ printf("(1) Ajouter une Candidature\n (2) Modifier une Candidature\n (3) Supprimer une Candidature"); scanf("%d", &menugest1); - if (menugest1 == 1){ - printf("Veuillez renseigner votre numéro d'étudiant\n"); - scanf("%d", &numet); - l2cand = recherchenum( lcand, numet); - AffListeCandidat(l2cand); - + if (menugest1 == 1){// Ajout d'une candidature (choix) a un candidat deja existant + printf("Veuillez renseigner votre nom d'étudiant\n"); + scanf("%s", nomet); + l2cand = recherchenom ( lcand, nomet ); - cand1 = lireCandidat(); - lcand = Insert(lcand , cand1); + choix1 = lirechx(); + lcand->cand.lchx = InsertTC (l2cand->cand.lchx,choix1); AffListeCandidat(lcand); } - //else if (menugest1 == 2) + else if (menugest1 == 2){// + printf("Entrer le numéro de candidat\n"); + scanf("%d",&modifcand ); + + //FONCTION MISE A JOUR LISTE AVEC AFFICHAGE NOUVELLE LISTE + } //else if (menugest1 == 3) //FONCTION SUPPRESSION LISTE AVEC AFFICHAGE NOUVELLE LISTE @@ -275,40 +325,6 @@ void test (void){ } -void Save(Listecand lC, int nbC) -{ - FILE *fs; - fs=fopen("part2.don", "w"); - if (fs == NULL){printf("pb ouv fichier part2.don\n");exit(-1);} - int cpt; - fprintf(fs, "%nbC\n", nbC); - - saveC(lC, fs); -} - -void saveC(Listecand lC, FILE *fs) -{ - if (lC == NULL)return; - fprintf(fs, "%d\n", lC->cand.nEtu); - fprintf(fs, "%s\n", lC->cand.nom); - fprintf(fs, "%s\n", lC->cand.prenom); - fprintf(fs, "%.2f\t %.2f\t %.2f\t %.2f\n", lC->cand.moymat, lC->cand.moyfr, lC->cand.moyen, lC->cand.moyspe); - fprintf(fs, "%d\n", lC->cand.nbchx); - saveChx(lC->cand.lchx, fs); - saveC(lC->suivcand, fs); -} - - - -void saveChx(Listechx lCh, FILE *fs) -{ - if (lCh == NULL)return; - fprintf(fs, "%s\n", lCh->chx.ville); - fprintf(fs, "%s\n", lCh->chx.dptmt); - fprintf(fs, "%d\n", lCh->chx.dec); - fprintf(fs, "%d\n", lCh->chx.valid); - saveChx(lCh->suivchx, fs); -} //####################################### FILES ################################################# diff --git a/part2.don b/part2.don index 18f67b5..f3228e8 100644 --- a/part2.don +++ b/part2.don @@ -1,50 +1,38 @@ 4 -35 -Durand -Jean Jacques -15.75 12.25 9.5 17.00 -3 +36 +Dupont +Jeannine +10.20 15.65 12.45 18.00 +2 Clermont-Ferrand Informatique 0 0 -Grenoble +Aurillac Informatique 0 0 +35 +Durand +Jean Jacques +15.75 12.25 9.50 17.00 +3 Aurillac Bio-Informatique 0 0 - -36 -Dupont -Jeannine -10.2 15.65 12.45 18.00 -2 Clermont-Ferrand Informatique 0 0 -Aurillac +Grenoble Informatique 0 0 - -37 -Thérèse -Francoise -10.5 12.65 14.45 16.00 -1 -Clermont-Ferrand -Bio-Informatique -0 -0 - 38 Henry Bertrand -5.2 14.65 11.23 14.00 +5.20 14.65 11.23 14.00 2 Clermont-Ferrand Informatique @@ -54,3 +42,12 @@ Aurillac Informatique 0 0 +37 +Thérèse +Francoise +10.50 12.65 14.45 16.00 +1 +Clermont-Ferrand +Bio-Informatique +0 +0 diff --git a/part2.h b/part2.h index 360a926..81020e8 100644 --- a/part2.h +++ b/part2.h @@ -50,8 +50,8 @@ Choix lirechx (void);//permet de lire un choix selon une entrée stdin Choix lireC(FILE *fe);//ermet de lire un choix avec un FILe de type fichier.don Candidat lireCandidat(void);//permet de lire un candidat avec le clavier Candidat lireCa(FILE *fe);//permet de lire un candidat selon le fichier.don -Listechx InsertTC(Listechx list, Maillonchx m);//insertion en tête d'un maillon de type choix -Listechx InsertC(Listechx list, Maillonchx m);//insertion globale d'un maillon de type choix +Listechx InsertTC(Listechx list, Choix m);//insertion en tête d'un maillon de type choix +Listechx InsertC(Listechx list, Choix m);//insertion globale d'un maillon de type choix void AffC(Candidat c);//affichage simple d'un candidat diff --git a/test b/test new file mode 100644 index 0000000000000000000000000000000000000000..689c844145641ff2ef706261d3fb653042d9b03a GIT binary patch literal 22040 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 literal 0 HcmV?d00001