From baa7169649dd1766a6ba48665a4499f29d802546 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Fri, 16 Dec 2022 14:34:59 +0100 Subject: [PATCH 01/26] MODIF structure et code Partie 2 --- candidature.txt | 205 ++++++++++++++++++++++++++++++++++++++++++++++++ sae1-02.c | 87 ++++++-------------- sae1-02.h | 27 +++---- 3 files changed, 240 insertions(+), 79 deletions(-) create mode 100644 candidature.txt diff --git a/candidature.txt b/candidature.txt new file mode 100644 index 0000000..05e5df8 --- /dev/null +++ b/candidature.txt @@ -0,0 +1,205 @@ +12 +1 +cheval +blanc +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +2 +fou +blanc +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +3 +roi +blanc +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +4 +reine +blanc +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +5 +tour +blanc +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +6 +pion +blanc +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +7 +cheval +noir +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +8 +fou +noir +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +9 +roi +noir +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +10 +reine +noir +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +11 +tour +noir +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 +12 +pion +noir +10 12 13 16 +3 +clermont-ferrand +informatique +0 +0 +grenoble +informatique +0 +0 +aurillac +bio-informatique +0 +0 diff --git a/sae1-02.c b/sae1-02.c index 1bf7790..7ca6284 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -7,7 +7,7 @@ // f enregistrement - +/* // Partie 1 @@ -28,7 +28,7 @@ VilleIUT lire(FILE * fe) { v.Idept->responsable[strlen(v.Idept->responsable)-1] = '\0'; return v; } - +*/ // Partie 2 /* @@ -72,78 +72,38 @@ charger -- recup : -nb choix -listcand -j'ai deux tableau 1 avec infoetu et l'autre les choix de l'etu au meme niveau que lui -tinfoetu est tableau de pointeur sur structure -tcarteetu est tableau de pointeur sur files - - -quand on quitte il vide tout avec free */ -booleen listevide(Filecartecand f){ - if(f.tete==NULL){return True;} - return False; -} +Listchoixdept lireChoix(FILE *fe, int nbchoix){ -Filecartecand initial(void){ - Filecartecand f; f.queue=NULL; f.tete=NULL; return f; -} +} -Filecartecand enfiler(Filecartecand f, char Ville[], char dep[], int decision, int validation){ - Mailloncartecand*m; - m=(Mailloncartecand*)malloc(sizeof(Mailloncartecand*)); - if(m==NULL){printf("");exit(1);} - strcpy(m->Ville,Ville); - strcpy(m->dep,dep); - m->decision=decision; - m->validation=validation; - m->suivant=NULL; - if(listevide(f)){ - f.tete=m; - f.queue=m; - }else{ - f.queue->suivant=m; - f.queue=m; - } - return f; +listetuinfo lireEtu(FILE *fe){ + int i; + listetuinfo b; + fscanf(fe, "%d %s %s %d %d %d %d %d", &b.numeroetu, b.nometu, b.prenometu, &b.notes[0], &b.notes[1], &b.notes[2], &b.notes[3], &b.nbchoix); + *b.lchoixdept = lireChoix(fe, b.nbchoix); } - -listcandinfo lireMat(FILE *fe){ - listcandinfo etu; - fscanf(fe ,"%d", &etu.numetu); - fgets(etu.numetu, 31, fe); - *(etu.numetu +(strlen(etu.numetu) - 1)) = '\0'; - fgets(etu.prenometu, 31, fe); - *(etu.prenometu +(strlen(etu.prenometu) - 1)) = '\0'; - fscanf(fe ,"%d %d %d %d %d", &etu.note[1], &etu.note[2], &etu.note[3], &etu.[4], &etu.choix); - return etu; -} - -int chargetableaux(char nomFich[], listcandinfo *tinfoetu[], listcanddept *tcarteetu[], int Tmax){ - listcandinfo a; - listcand b; - int i=0; +int chargeretudiant(char nomFich[], listetuinfo *tetu[]){ + int i=0, nbetu; + listetuinfo a; FILE *fe; - fe = fopen( nomFich , "r"); - if(fe==NULL){printf("\n");return-1;} - a = lireMat(fe); + fe = fopen( nomFich, "r"); + if(fe==NULL){printf("\n");return-1;} + fscanf(fe, "%d", &nbetu); while(!feof(fe)){ - if(i==Tmax){printf("\n");fclose(fe);return-1;} - tinfoetu[i] = (listcandinfo*)malloc(sizeof(listcandinfo)); - if(table[i]==NULL){printf("\n");fclose(fe);return-1;} - *tinfoetu[i]= a; - a = lireMat(fe); + a = lireEtu(fe); + tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); + if(tetu[i]==NULL){printf("\n");fclose(fe);return-1;} + *tetu[i] = a; i++; } - fclose(fe); - return i; -} - - - +} +void test1(void){ +} @@ -153,7 +113,7 @@ int chargetableaux(char nomFich[], listcandinfo *tinfoetu[], listcanddept *tcart // Partie 4 // Général (menu et ce qui en ai relié) - +/* questionadmin(){ printf("\nQuel numéro détudiant ?\n==>"); scanf("%d%*c", &choix); @@ -190,3 +150,4 @@ int menu(void){ return 1; } +*/ \ No newline at end of file diff --git a/sae1-02.h b/sae1-02.h index 4ca13a6..e2840c7 100644 --- a/sae1-02.h +++ b/sae1-02.h @@ -27,28 +27,22 @@ typedef struct VilleIUT{ // Partie 2 -typedef struct{ - int numetu; - char nometu[31]; - char prenometu[31]; - int notes[4]; - int nbchoix; -}listcandinfo; - -typedef struct listcand{ +typedef struct listchoix{ char Ville[31]; char dep[31]; int decision; int validation; - struct listcand* suivant; -}Mailloncartecand, listcanddept; + struct listchoix* suivant; +}Maillonchoix, *Listchoixdept; typedef struct{ - Mailloncartecand* tete; - Mailloncartecand* queue; -}Filecartecand; - -typedef enum {False,True}booleen; + int numeroetu; + char nometu[21]; + char prenometu[21]; + int notes[4]; + int nbchoix; + Listchoixdept* lchoixdept; +}listetuinfo; // Partie 3 typedef struct listresp{ @@ -66,3 +60,4 @@ typedef struct listatt{ struct listatt* suivant; }maillonatt; +void test1(void); \ No newline at end of file From 3b962d3d9df0d1cdaef5c633e92b18e5c8ced756 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 09:21:11 +0100 Subject: [PATCH 02/26] MODIF premiere version code --- sae1-02.c | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 7ca6284..7a64c19 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -74,18 +74,41 @@ charger -- recup : */ -Listchoixdept lireChoix(FILE *fe, int nbchoix){ +Listchoixdept listchoixdeptvide(void){ + return NULL; +} + +Listchoixdept inserercarte(Listchoixdept c, FILE fe){ + Maillonchoix cc; + cc = (Maillonchoix*)malloc(sizeof(Maillonchoix)); + if(cc==NULL){printf("\n");exit(1);} + fscanf(fe, "%s %s %d %d", cc.Ville, cc.dep, &cc.decision, &cc.validation); + cc->suivant=c; + return cc; +} +Listchoixdept lireChoix(FILE *fe, int nbchoix){ + int i=0; + int decision, validation; + char Ville[21], dep[21]; + Listchoixdept c, temp; + c = listchoixdeptvide(); + for(i=0; isuivant==NULL){affichageensemble(e->suivant);} + else{ + printf(","); + affichageensemble(e->suivant); + } +} +void test1(void){ + listetuinfo *tetu[5000]; + int j,i, nb; + char nomFich[31]; + strcpy(nomFich, "candidature.txt"); + nb = chargeretudiant(nomFich, tetu); + for(j=0, j Date: Sat, 17 Dec 2022 09:29:30 +0100 Subject: [PATCH 03/26] MODIF correction P2 --- sae1-02.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 7a64c19..a67e7cc 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -125,9 +125,9 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[]){ } void affichage(Listchoixdept c){ - if(e==NULL){printf("}\n");return;} - printf("%s %s %d %d", c.Ville, c.dep, c.decision, c.validation); - if(e->suivant==NULL){affichageensemble(e->suivant);} + if(c==NULL){printf("}\n");return;} + printf("%s %s %d %d", c->Ville, c->dep, c->decision, c->validation); + if(c->suivant==NULL){affichageensemble(c->suivant);} else{ printf(","); affichageensemble(e->suivant); @@ -140,10 +140,10 @@ void test1(void){ char nomFich[31]; strcpy(nomFich, "candidature.txt"); nb = chargeretudiant(nomFich, tetu); - for(j=0, jnbchoix; i++){ printf("carte %d={", i+1); - affichageensemble(tetu[j].lchoixdept); + affichageensemble(tetu[j]->lchoixdept); } } } From 45a8932fb2da72f37ebf09003c17dd54dcc2d206 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 09:32:32 +0100 Subject: [PATCH 04/26] MODIF correction v3 --- sae1-02.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index a67e7cc..7a0dab8 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -78,8 +78,8 @@ Listchoixdept listchoixdeptvide(void){ return NULL; } -Listchoixdept inserercarte(Listchoixdept c, FILE fe){ - Maillonchoix cc; +Listchoixdept inserercarte(Listchoixdept c, FILE *fe){ + Maillonchoix* cc; cc = (Maillonchoix*)malloc(sizeof(Maillonchoix)); if(cc==NULL){printf("\n");exit(1);} fscanf(fe, "%s %s %d %d", cc.Ville, cc.dep, &cc.decision, &cc.validation); @@ -94,7 +94,7 @@ Listchoixdept lireChoix(FILE *fe, int nbchoix){ Listchoixdept c, temp; c = listchoixdeptvide(); for(i=0; iVille, c->dep, c->decision, c->validation); - if(c->suivant==NULL){affichageensemble(c->suivant);} + if(c->suivant==NULL){affichage(c->suivant);} else{ printf(","); - affichageensemble(e->suivant); + affichage(c->suivant); } } From 1f7a04fd985857ca2a6742e57f7d17d18d2cd163 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 09:34:15 +0100 Subject: [PATCH 05/26] MODIF correction v4 P2 --- sae1-02.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 7a0dab8..7f9e90a 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -82,7 +82,7 @@ Listchoixdept inserercarte(Listchoixdept c, FILE *fe){ Maillonchoix* cc; cc = (Maillonchoix*)malloc(sizeof(Maillonchoix)); if(cc==NULL){printf("\n");exit(1);} - fscanf(fe, "%s %s %d %d", cc.Ville, cc.dep, &cc.decision, &cc.validation); + fscanf(fe, "%s %s %d %d", cc->Ville, cc->dep, &cc->decision, &cc->validation); cc->suivant=c; return cc; } @@ -94,7 +94,7 @@ Listchoixdept lireChoix(FILE *fe, int nbchoix){ Listchoixdept c, temp; c = listchoixdeptvide(); for(i=0; inbchoix; i++){ printf("carte %d={", i+1); - affichageensemble(tetu[j]->lchoixdept); + affichage(tetu[j]->lchoixdept); } } } From 445ec7868b8000b0b24498e9d33965c05e126153 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 09:36:56 +0100 Subject: [PATCH 06/26] MODIF test correction p2 --- sae1-02.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sae1-02.c b/sae1-02.c index 7f9e90a..abd8cbf 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -143,7 +143,7 @@ void test1(void){ for(j=0; jnbchoix; i++){ printf("carte %d={", i+1); - affichage(tetu[j]->lchoixdept); + affichage(tetu[j].lchoixdept); } } } From ced6e6266b1b11d041e7b68502e2857fb2ca55cc Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 09:43:19 +0100 Subject: [PATCH 07/26] MODIF ajout affichage pour test P2 --- sae1-02.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sae1-02.c b/sae1-02.c index abd8cbf..20ded41 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -133,17 +133,27 @@ void affichage(Listchoixdept c){ affichage(c->suivant); } } +void affichageetu(listetuinfo a){ + printf("%d\n%s %s\n", a.numeroetu, a.nometu, a.prenometu); + printf("mathématique : %d\n", a.notes[0]); + printf("français : %d\n", a.notes[1]); + printf("anglais : %d\n", a.notes[2]); + printf("matière spé : %d\n", a.notes[3]); +} void test1(void){ listetuinfo *tetu[5000]; + listchoix lc; int j,i, nb; char nomFich[31]; strcpy(nomFich, "candidature.txt"); nb = chargeretudiant(nomFich, tetu); for(j=0; jnbchoix; i++){ printf("carte %d={", i+1); - affichage(tetu[j].lchoixdept); + lc = tetu[j]->lchoixdept; + affichage(lc); } } } From ae247bbd7966786e6330508bee0a718496697cf6 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 09:45:59 +0100 Subject: [PATCH 08/26] MODIF ajustement P2 --- sae1-02.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 20ded41..396aaf4 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -143,13 +143,13 @@ void affichageetu(listetuinfo a){ void test1(void){ listetuinfo *tetu[5000]; - listchoix lc; + Listchoixdept lc; int j,i, nb; char nomFich[31]; strcpy(nomFich, "candidature.txt"); nb = chargeretudiant(nomFich, tetu); for(j=0; jnbchoix; i++){ printf("carte %d={", i+1); lc = tetu[j]->lchoixdept; From a1500d05f6a60eda7e40c0430f0dd5a2cb73a379 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 09:46:38 +0100 Subject: [PATCH 09/26] MODIF ajustement v2 P2 --- sae1-02.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sae1-02.c b/sae1-02.c index 396aaf4..0748be4 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -152,7 +152,7 @@ void test1(void){ affichageetu(*tetu[j]); for(i=0; inbchoix; i++){ printf("carte %d={", i+1); - lc = tetu[j]->lchoixdept; + lc = *tetu[j]->lchoixdept; affichage(lc); } } From 66a8a0dd1c3a3f63351819392fa0b5c67f2f114a Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 10:11:48 +0100 Subject: [PATCH 10/26] MODIF erreur P2 --- sae | Bin 0 -> 17288 bytes sae1-02.c | 24 ++++++++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) create mode 100755 sae diff --git a/sae b/sae new file mode 100755 index 0000000000000000000000000000000000000000..5fbf1920bdb251a887cb91cb262fbcb017b8e377 GIT binary patch literal 17288 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\n");return-1;} fscanf(fe, "%d", &nbetu); while(!feof(fe)){ + if(i==tmax){printf("");fclose(fe);return-1;} + printf("bonjour"); a = lireEtu(fe); tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); if(tetu[i]==NULL){printf("\n");fclose(fe);return-1;} *tetu[i] = a; i++; } + fclose(fe); + return nbetu; } void affichage(Listchoixdept c){ @@ -143,19 +148,18 @@ void affichageetu(listetuinfo a){ void test1(void){ listetuinfo *tetu[5000]; - Listchoixdept lc; - int j,i, nb; - char nomFich[31]; - strcpy(nomFich, "candidature.txt"); - nb = chargeretudiant(nomFich, tetu); + int j, i, nb; + char nomFich[20]; + strcpy( nomFich, "candidature.txt"); + nb = chargeretudiant(nomFich, tetu, 5000); + /*printf("bonjour1"); for(j=0; jnbchoix; i++){ printf("carte %d={", i+1); - lc = *tetu[j]->lchoixdept; - affichage(lc); + affichage(*tetu[j]->lchoixdept); } - } + }*/ } @@ -203,4 +207,4 @@ int menu(void){ return 1; } -*/ \ No newline at end of file +*/ From a5d7cd63fc56c51bcaf73e32ba68ad581c8d1e07 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 10:15:38 +0100 Subject: [PATCH 11/26] MODIF reflexion pour l'erreur v1 --- sae1-02.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index e54c51a..e4e8fb0 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -103,7 +103,7 @@ listetuinfo lireEtu(FILE *fe){ int i; listetuinfo b; fscanf(fe, "%d %s %s %d %d %d %d %d", &b.numeroetu, b.nometu, b.prenometu, &b.notes[0], &b.notes[1], &b.notes[2], &b.notes[3], &b.nbchoix); - *b.lchoixdept = lireChoix(fe, b.nbchoix); + b.lchoixdept = lireChoix(fe, b.nbchoix); return b; } @@ -152,14 +152,14 @@ void test1(void){ char nomFich[20]; strcpy( nomFich, "candidature.txt"); nb = chargeretudiant(nomFich, tetu, 5000); - /*printf("bonjour1"); + printf("bonjour1"); for(j=0; jnbchoix; i++){ printf("carte %d={", i+1); affichage(*tetu[j]->lchoixdept); } - }*/ + } } From 37b4272962172410c8104b1b76857a05f99b0b45 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 10:17:40 +0100 Subject: [PATCH 12/26] MODIF P2 reflexion pour l'erreur v2 --- sae1-02.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index e4e8fb0..d7f9bed 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -87,15 +87,16 @@ Listchoixdept inserercarte(Listchoixdept c, FILE *fe){ return cc; } -Listchoixdept lireChoix(FILE *fe, int nbchoix){ +Maillonchoix lireChoix(FILE *fe, int nbchoix){ int i=0; int decision, validation; char Ville[21], dep[21]; - Listchoixdept c, temp; + Maillonchoix c, temp; c = listchoixdeptvide(); for(i=0; i");fclose(fe);return-1;} printf("bonjour"); - a = lireEtu(fe); + //a = lireEtu(fe); tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); if(tetu[i]==NULL){printf("\n");fclose(fe);return-1;} *tetu[i] = a; From 6ece4a2ea7ed762f1a1ec79f393c9cfbeba5684f Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 10:30:13 +0100 Subject: [PATCH 13/26] MODIF p2 revu du code voir si erreur reste --- sae1-02.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index d7f9bed..4d2f0af 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -80,18 +80,18 @@ Listchoixdept listchoixdeptvide(void){ Listchoixdept inserercarte(Listchoixdept c, FILE *fe){ Maillonchoix* cc; - cc = (Maillonchoix*)malloc(sizeof(Maillonchoix)); + cc = (Maillonchoix*)malloc(sizeof(Maillonchoix*)); if(cc==NULL){printf("\n");exit(1);} fscanf(fe, "%s %s %d %d", cc->Ville, cc->dep, &cc->decision, &cc->validation); cc->suivant=c; return cc; } -Maillonchoix lireChoix(FILE *fe, int nbchoix){ +Listchoixdept lireChoix(FILE *fe, int nbchoix){ int i=0; int decision, validation; char Ville[21], dep[21]; - Maillonchoix c, temp; + Listchoixdept c, temp; c = listchoixdeptvide(); for(i=0; i\n");return-1;} fscanf(fe, "%d", &nbetu); - while(!feof(fe)){ + for(i=0; i");fclose(fe);return-1;} printf("bonjour"); - //a = lireEtu(fe); tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); if(tetu[i]==NULL){printf("\n");fclose(fe);return-1;} + a = lireEtu(fe); *tetu[i] = a; i++; } From 01acef0773393e4b9da388f65d2824f07682abc7 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 10:31:24 +0100 Subject: [PATCH 14/26] MODIF P2 petite correction --- sae1-02.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sae1-02.c b/sae1-02.c index 4d2f0af..5b47800 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -103,7 +103,7 @@ listetuinfo lireEtu(FILE *fe){ listetuinfo b; int i; fscanf(fe, "%d %s %s %d %d %d %d %d", &b.numeroetu, b.nometu, b.prenometu, &b.notes[0], &b.notes[1], &b.notes[2], &b.notes[3], &b.nbchoix); - b.lchoixdept = lireChoix(fe, nbchoix); + b.lchoixdept = lireChoix(fe, b.nbchoix); return b; } From 7a5e03699c43418e342c2348f6264673bb9876fd Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 11:22:17 +0100 Subject: [PATCH 15/26] MODIF changement complet test v1 --- sae1-02.c | 25 +++++++++++++++++++++++-- sae1-02.h | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 5b47800..cb60a0a 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -72,7 +72,8 @@ charger -- recup : -nb choix -listcand -*/ + +-- pb avec ça Listchoixdept listchoixdeptvide(void){ return NULL; @@ -107,6 +108,25 @@ listetuinfo lireEtu(FILE *fe){ return b; } +*/ +ensemble ensemblevide(void){return NULL;} + +Listchoixdept lireCarte(FILE *fe, int nbchoix){ + if(nbchoix==0){return NULL;} + Maillonchoix* cc; + cc = (Maillonchoix*)malloc(sizeof(Maillonchoix*)); + fscanf(fe, "%s %s %d %d", cc->Ville, cc->dep, &cc->decision, &cc->validation); + cc.suivant = lireCarte(fe, nbchoix-1); + return cc; +} + +listetuinfo lireEtu(FILE *fe){ + listetuinfo b; + int i; + fscanf(fe, "%d %s %s %d %d %d %d %d", &b.numeroetu, b.nometu, b.prenometu, &b.notes[0], &b.notes[1], &b.notes[2], &b.notes[3], &b.nbchoix); + return b; +} + int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ int i=0, nbetu; @@ -116,14 +136,15 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ fe = fopen( nomFich, "r"); if(fe==NULL){printf("\n");return-1;} fscanf(fe, "%d", &nbetu); + a.carte = ensemblevide(); for(i=0; i");fclose(fe);return-1;} printf("bonjour"); tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); if(tetu[i]==NULL){printf("\n");fclose(fe);return-1;} a = lireEtu(fe); + a.carte = lireCarte(fe, a.nbchoix); *tetu[i] = a; - i++; } fclose(fe); return nbetu; diff --git a/sae1-02.h b/sae1-02.h index e2840c7..6881ccb 100644 --- a/sae1-02.h +++ b/sae1-02.h @@ -41,7 +41,7 @@ typedef struct{ char prenometu[21]; int notes[4]; int nbchoix; - Listchoixdept* lchoixdept; + Listchoixdept* carte; }listetuinfo; // Partie 3 From 2156c35be7549ac136ad62f372e5a3699d6d0a26 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 11:27:05 +0100 Subject: [PATCH 16/26] MODIF P2 reglage voir si il n'y a pas d'autre erreur --- sae1-02.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index cb60a0a..676f081 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -109,14 +109,14 @@ listetuinfo lireEtu(FILE *fe){ } */ -ensemble ensemblevide(void){return NULL;} +Listchoixdept ensemblevide(void){return NULL;} Listchoixdept lireCarte(FILE *fe, int nbchoix){ if(nbchoix==0){return NULL;} Maillonchoix* cc; cc = (Maillonchoix*)malloc(sizeof(Maillonchoix*)); fscanf(fe, "%s %s %d %d", cc->Ville, cc->dep, &cc->decision, &cc->validation); - cc.suivant = lireCarte(fe, nbchoix-1); + cc->suivant = lireCarte(fe, nbchoix-1); return cc; } @@ -178,7 +178,7 @@ void test1(void){ affichageetu(*tetu[j]); for(i=0; inbchoix; i++){ printf("carte %d={", i+1); - affichage(*tetu[j]->lchoixdept); + affichage(*tetu[j].lchoixdept); } } } From 9a0fa0969445a3da5841255c95ca833945dca5d3 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 11:31:04 +0100 Subject: [PATCH 17/26] MODIF P2 reglage v2 --- sae1-02.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 676f081..1dcb866 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -109,9 +109,9 @@ listetuinfo lireEtu(FILE *fe){ } */ -Listchoixdept ensemblevide(void){return NULL;} +Listchoixdept* ensemblevide(void){return NULL;} -Listchoixdept lireCarte(FILE *fe, int nbchoix){ +Listchoixdept* lireCarte(FILE *fe, int nbchoix){ if(nbchoix==0){return NULL;} Maillonchoix* cc; cc = (Maillonchoix*)malloc(sizeof(Maillonchoix*)); @@ -178,7 +178,7 @@ void test1(void){ affichageetu(*tetu[j]); for(i=0; inbchoix; i++){ printf("carte %d={", i+1); - affichage(*tetu[j].lchoixdept); + affichage(*tetu[j].carte); } } } From 977535d9f8d281ab7c1c05a27f113652d292ee38 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 11:35:44 +0100 Subject: [PATCH 18/26] =?UTF-8?q?MODIF=20P2=20chargement=20valid=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sae1-02.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 1dcb866..ce83b6e 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -128,9 +128,7 @@ listetuinfo lireEtu(FILE *fe){ } int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ - int i=0, nbetu; - printf("bonjour"); listetuinfo a; FILE *fe; fe = fopen( nomFich, "r"); @@ -139,7 +137,6 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ a.carte = ensemblevide(); for(i=0; i");fclose(fe);return-1;} - printf("bonjour"); tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); if(tetu[i]==NULL){printf("\n");fclose(fe);return-1;} a = lireEtu(fe); @@ -173,13 +170,13 @@ void test1(void){ char nomFich[20]; strcpy( nomFich, "candidature.txt"); nb = chargeretudiant(nomFich, tetu, 5000); - printf("bonjour1"); for(j=0; jnbchoix; i++){ printf("carte %d={", i+1); affichage(*tetu[j].carte); - } + }*/ } } From 6abf6bec5ba8c977aa5c82f01e0f4ba428486fe8 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 11:38:05 +0100 Subject: [PATCH 19/26] =?UTF-8?q?MODIF=20P2=20chargement=20valid=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sae1-02.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index ce83b6e..96effad 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -109,9 +109,9 @@ listetuinfo lireEtu(FILE *fe){ } */ -Listchoixdept* ensemblevide(void){return NULL;} +Listchoixdept ensemblevide(void){return NULL;} -Listchoixdept* lireCarte(FILE *fe, int nbchoix){ +Listchoixdept lireCarte(FILE *fe, int nbchoix){ if(nbchoix==0){return NULL;} Maillonchoix* cc; cc = (Maillonchoix*)malloc(sizeof(Maillonchoix*)); @@ -134,13 +134,13 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ fe = fopen( nomFich, "r"); if(fe==NULL){printf("\n");return-1;} fscanf(fe, "%d", &nbetu); - a.carte = ensemblevide(); + *a.carte = ensemblevide(); for(i=0; i");fclose(fe);return-1;} tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); if(tetu[i]==NULL){printf("\n");fclose(fe);return-1;} a = lireEtu(fe); - a.carte = lireCarte(fe, a.nbchoix); + *a.carte = lireCarte(fe, a.nbchoix); *tetu[i] = a; } fclose(fe); @@ -175,7 +175,7 @@ void test1(void){ /* for(i=0; inbchoix; i++){ printf("carte %d={", i+1); - affichage(*tetu[j].carte); + affichage(*tetu[j]->carte); }*/ } } From fa2f465ef6a12d3aa0c92b847145b9ac286de9ba Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 11:47:51 +0100 Subject: [PATCH 20/26] MODIF chargement complet et fonctionnel --- sae | Bin 17288 -> 17192 bytes sae1-02.c | 8 +++++--- sae1-02.h | 4 ++-- sase | Bin 0 -> 17192 bytes 4 files changed, 7 insertions(+), 5 deletions(-) create mode 100755 sase diff --git a/sae b/sae index 5fbf1920bdb251a887cb91cb262fbcb017b8e377..4c1c4285fd0194acdc69888c5c0e4967f52c27b4 100755 GIT binary patch delta 3118 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 delta 2959 zcmZ8j3v5%@89v936FVfqH((q?Dqr&$&)9Lug9IGgd5mk6qEN_|ZUvl%RB=c1!Wo$c za?+H?U1rtrr&3i=S1Mp>t4*D}O{H4Zgd#GwX&n>o)GcfYqN*pd%`i4GNPG96bMG~f zb9K*m&iDW4JO6p!J9d;FKSmQph2vJjQ$Ph`-g08yd5bkity)2#i%!fI=Uz9d#B~!C zQn#hks8%~6L_L;4gIYTdL-d$yN>pp}@sLWBL$KEH&f=BP*MIy@*Yw2^U**Bk^_xb2 zn3!1uDZ@%zKDtqSv$^{a&-1}$TulWyVYJg2v|%o?GDyZETFO}m&!6P^Deh6l%h@ak zF{_Ba&DmPmkyVt{F%XGDXVyeL3*1Ny+Cv^eisij%)uxBoBN2?uNFo~7zcgZD{s*Af zWcR)y@Hk1@r=nQ}64v-|U>*+_Oy7nL*?IZ*{HlcwHy=u}llje>FI$2I$(ig2=9AVp zV{dy1>15R3dlXEo>ahM?0_!|^{}Ga}?vdmh((ui6^RA}2>3$X=Qam3x_$JUxvHjOg z$lZm`24?Z~qJR`PJBxB0qD(Jz4l?17G?a4Vz94T*v&*1xl)9`{3P79(( zlKZDWY)0?Y`L7g3k{jcm+WZ zNuGQU%_Oye35=k?NJ~nRn=Zxy!1q@h{1Y#7IJ9Q2_4${{pr-Q!@#@(5AKadD21<2a7*6p}2Oj~Rv0;@qT3 z{~~lhf|k?(((j>)a%;U5Z<*!c$17e{8>wQAs#scDi!x7RWu$R7GbvUKMw{;f)NE&( ztLDIL+mQG10zI7kISANR8_qs}h;2>mlMMgv111)bFJsFq8TK{KHgI+_!@k5>iL(SFe9Vg)Z_BOCC@mAY$q2CYmwq5VWf99t^E==fH~EEKl$4w6_#W=yOf?3&CV?@vFBOw zg|_|syW7P`m)Q1vcYm~_uf44=+9A4XAxB)5^K5q)vVE{#tc0YvGe(ygHxJ+{;=Usd z|5B7oh}RHj5pN=nB3?-=N*3AFcNAp|vGm`H@@vG4 zh$%$>T}3hD1vQGe0r4(k6mc;jFzkAQN^r*IF%A3^rwKlBt#C|ZNxyfnds2+=Gx&Z0 z!g44533!(~W3OUt$Cxo#U_EN6&(Aizn3sc%nD4LfRnWfuF?)#HMdYUNEx|FQ9q__zRp&N{^Obs-vg+z33@B-jxTUxL{dar1G>J7yWn=Yop!N26hj}T@JgX--jA$TKykty=Hg{b(sJBvG39J&uRMlE^6mIfj?CWj(*K2Pn*w^nr4he=t!WI zjc&g3X*f}3cl=Uodw7xBh@V0%UWSP(yD+0!w`wc6J$bdNjOInU4s`Ts*B#7cIl)!k z3d7Y6aIJc~us?Dj+TPh68Q9m+6a8*vUkA8q+*bDc6xiAns;l2y<}Pzr!1kJ_Ec+vU z9resL`JfsnNbp79k64cecjj>RDRJeIJ=hGD{2 zWl3nY1kl>5%=y&M={SUHV`lbIWeIv~?eImd0Gs?)F#Ah0f4KT82`1R)cjxL`4^QEX z{;wPULf|)kw=gAg5u)QEumn7XtuB?-(P~I;3)E6Pta8v}(Kli%Oa!Ye`qFd)t@Gp2 f4A%KAiBh%wAjox97V9Rpb_=f5RnZ4P>sS9DCl3~q diff --git a/sae1-02.c b/sae1-02.c index 96effad..022f442 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -114,7 +114,7 @@ Listchoixdept ensemblevide(void){return NULL;} Listchoixdept lireCarte(FILE *fe, int nbchoix){ if(nbchoix==0){return NULL;} Maillonchoix* cc; - cc = (Maillonchoix*)malloc(sizeof(Maillonchoix*)); + cc = (Maillonchoix*)malloc(sizeof(Maillonchoix)); fscanf(fe, "%s %s %d %d", cc->Ville, cc->dep, &cc->decision, &cc->validation); cc->suivant = lireCarte(fe, nbchoix-1); return cc; @@ -130,17 +130,19 @@ listetuinfo lireEtu(FILE *fe){ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ int i=0, nbetu; listetuinfo a; + Listchoixdept b; FILE *fe; fe = fopen( nomFich, "r"); if(fe==NULL){printf("\n");return-1;} fscanf(fe, "%d", &nbetu); - *a.carte = ensemblevide(); + b = ensemblevide(); for(i=0; i");fclose(fe);return-1;} tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); if(tetu[i]==NULL){printf("\n");fclose(fe);return-1;} a = lireEtu(fe); - *a.carte = lireCarte(fe, a.nbchoix); + b = lireCarte(fe, a.nbchoix); + a.carte = b; *tetu[i] = a; } fclose(fe); diff --git a/sae1-02.h b/sae1-02.h index 6881ccb..5ccfbd8 100644 --- a/sae1-02.h +++ b/sae1-02.h @@ -41,7 +41,7 @@ typedef struct{ char prenometu[21]; int notes[4]; int nbchoix; - Listchoixdept* carte; + Listchoixdept carte; }listetuinfo; // Partie 3 @@ -60,4 +60,4 @@ typedef struct listatt{ struct listatt* suivant; }maillonatt; -void test1(void); \ No newline at end of file +void test1(void); diff --git a/sase b/sase new file mode 100755 index 0000000000000000000000000000000000000000..666f229b646f74ad6b0485cc12886a00af243633 GIT binary patch literal 17192 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 D@4lBJ literal 0 HcmV?d00001 From 1dfd0a64b5bd815d9edc9d7609256d135344583d Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 13:59:17 +0100 Subject: [PATCH 21/26] affichage complet --- sae | Bin 17192 -> 17192 bytes sae1-02.c | 29 +++++++++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/sae b/sae index 4c1c4285fd0194acdc69888c5c0e4967f52c27b4..664ca0d62d629f1751ac8686a8c4d2b4614fe824 100755 GIT binary patch delta 1314 zcmZ9Me{54#6vy9vC8h0JSWCBB8R>iNV8bwGm$@QySt~sEnhczwQ=?Q@*_7&F&XvI* z>NYp$9$iV@i82BS!)U;e5R(^wL{uOfE(?ohhWPUjf3f7n4K|dKp_S`-uRo^V^xf~f zpYuKE+@7R8)lW|KllKh77+%h3D-2drZXD31PXiDn=d8ti`jk^}vS;ldUjFQT|3azx zQ;WP|P2X>4`j40^WQG0SVmzp47%^e-=;2cSmn0$|wLYb@n9rH8ic2u6klgpX>lhU~0*XXJo{XnBzHEPSz5siu(t+nLvK@HbySf8UYq{*<>UF@0dK86>6 zQ@x)g%!`RvyTMqkUH_C#X4N8iOg+P<%a+pNYI?&%jIdq+=3q8(Wf z+51fEzm9O7vvLBVM zYWqB;>gako@)*3~_VBBJ zr}VIz5?GPn&u+2k*&*|CETd)@W7{G4&h6so&~^1cE=6-~Mb?b2^WgN^kX{76V2@Rj=!9;qzB{X(USG{Dc5C&?=y-SZ?L za;SZl)@dwnV^%PR;rtH-v%M{O*>x=$uJHz+03X=ToYg&m6;_Y zLO|wA*Q|P?VNMhN7+T|8NZvmS{=rBUA^YV*;MH+lDa z&*z+b&Uq&hx!(P4 z7nZyK{QTq>i?^2N6qWnMZf!0kL`vG13*eiwALv`kXO2Ur(h@1z`ehLz>T6FJTX`33 z&KHVq+6ehd%dPsL)mii0#|&K?=3dmu^~a1!iQuY~2uPBALyf_(v-+4DGZ;61M1LX} zkQXp-MV?;O=}w)N=jpUgC7l-M=_fjE*Qq&AKR}u~nCX<{+tTQr*g5T0j;Fe@nc40z zJYTuNKcg82n?11}{qpx(gY#L&CQuH7KLDRF;$vbD`ih`28#-x51R@!>f`SExQ+COkGzw)gnRV8p@_TLjULiF7#_%6 z3`gTRJ3Mf>Z_UzTGwH#IJ08ni%0*y1bfc-|2&x^Qs=JJRjXH^{qNY((sL6Yb5!z13 zc|5o&I#2_szWa=Ip*}+$NB#Y8#?q)m|1h?Q`T$i$oqWicg(GAYwF8w9IKz9mvb!+L z`)CLJ!Fy>M93B@v4x2r-bO=JYcR>{Q1&}>;bP%q1>iBIB7(1n17fZ?}xE=OFE?K3p~q{AS;^fqsHY4z6DWh_%p zO2}iU!Ontp``${8OgjvMU!uOU6iOSNyGap_#lcmP1A&|)Csi6JWrVm5V9s$baxLFf zr2!7+xBz~^1vj^ErMrO&uIhccxYN11m`Pu6YH`*5Iqyn^LG|I{@hF4^7dOUfy>a9` zoD^IIS1{HCB3GgOEc``_BLneB|DnFf`_Y~VEWGlaa;{mTirUg;qI)3J)?oc_CT19I j+eHgt3EA4eg$4xc2yaxy5eGiv=prn=D$psQJG}n_Ti|r* diff --git a/sae1-02.c b/sae1-02.c index 022f442..b161348 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -109,7 +109,7 @@ listetuinfo lireEtu(FILE *fe){ } */ -Listchoixdept ensemblevide(void){return NULL;} +Listchoixdept listvide(void){return NULL;} Listchoixdept lireCarte(FILE *fe, int nbchoix){ if(nbchoix==0){return NULL;} @@ -135,7 +135,7 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ fe = fopen( nomFich, "r"); if(fe==NULL){printf("\n");return-1;} fscanf(fe, "%d", &nbetu); - b = ensemblevide(); + b = listvide(); for(i=0; i");fclose(fe);return-1;} tetu[i] = (listetuinfo*)malloc(sizeof(listetuinfo)); @@ -150,35 +150,36 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ } void affichage(Listchoixdept c){ - if(c==NULL){printf("}\n");return;} + if(c==NULL){printf("\n");return;} printf("%s %s %d %d", c->Ville, c->dep, c->decision, c->validation); if(c->suivant==NULL){affichage(c->suivant);} else{ - printf(","); + printf("\n -"); affichage(c->suivant); } } void affichageetu(listetuinfo a){ - printf("%d\n%s %s\n", a.numeroetu, a.nometu, a.prenometu); - printf("mathématique : %d\n", a.notes[0]); - printf("français : %d\n", a.notes[1]); - printf("anglais : %d\n", a.notes[2]); - printf("matière spé : %d\n", a.notes[3]); + printf(" %d\n %s %s\n", a.numeroetu, a.nometu, a.prenometu); + printf(" mathématique : %d\n", a.notes[0]); + printf(" français : %d\n", a.notes[1]); + printf(" anglais : %d\n", a.notes[2]); + printf(" matière spé : %d\n", a.notes[3]); } void test1(void){ listetuinfo *tetu[5000]; + Listchoixdept b; + b = listvide(); int j, i, nb; char nomFich[20]; strcpy( nomFich, "candidature.txt"); nb = chargeretudiant(nomFich, tetu, 5000); for(j=0; jnbchoix; i++){ - printf("carte %d={", i+1); - affichage(*tetu[j]->carte); - }*/ + printf("tout les choix : \n -", i+1); + b = tetu[j]->carte; + affichage(b); + printf("\n\n"); } } From 47f7467bddeffc5a07ba88d154dd9899ef462a74 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 17 Dec 2022 14:11:36 +0100 Subject: [PATCH 22/26] =?UTF-8?q?MODIF=20P2=20mise=20en=20ordre=20du=20cod?= =?UTF-8?q?e=20et=20s=C3=A9paration=20pour=20section?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sae1-02.c | 88 +++++++++++++++++++------------------------------------ 1 file changed, 30 insertions(+), 58 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index b161348..88991a7 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -7,9 +7,8 @@ // f enregistrement -/* // Partie 1 - +/* void affichageVilleIUT() { printf("%s\t%s\t%d\t%s") @@ -57,58 +56,18 @@ le tableau de pointeur qui contient listcandinfo et listcand, combien de fonctionnalité en combien de fonction ... - -charger fichier - -modifier choix - -ajouter choix - -supp choix - -afficher les infos d'un cand - -tout cand d'un dep (ordre alphabétique) - -enregistrer fichier - - -charger -- recup : - -nb candi - -listcandinfo - -nb choix - -listcand + V charger fichier + - modifier choix + - ajouter choix + - supp choix + V afficher les infos d'un cand + - tout cand d'un dep (ordre alphabétique) + - enregistrer fichier +*/ --- pb avec ça - -Listchoixdept listchoixdeptvide(void){ - return NULL; -} - -Listchoixdept inserercarte(Listchoixdept c, FILE *fe){ - Maillonchoix* cc; - cc = (Maillonchoix*)malloc(sizeof(Maillonchoix*)); - if(cc==NULL){printf("\n");exit(1);} - fscanf(fe, "%s %s %d %d", cc->Ville, cc->dep, &cc->decision, &cc->validation); - cc->suivant=c; - return cc; -} - -Listchoixdept lireChoix(FILE *fe, int nbchoix){ - int i=0; - int decision, validation; - char Ville[21], dep[21]; - Listchoixdept c, temp; - c = listchoixdeptvide(); - for(i=0; iVille, c->dep, c->decision, c->validation); @@ -158,6 +120,8 @@ void affichage(Listchoixdept c){ affichage(c->suivant); } } + +//affiche que la personne void affichageetu(listetuinfo a){ printf(" %d\n %s %s\n", a.numeroetu, a.nometu, a.prenometu); printf(" mathématique : %d\n", a.notes[0]); @@ -166,23 +130,31 @@ void affichageetu(listetuinfo a){ printf(" matière spé : %d\n", a.notes[3]); } -void test1(void){ - listetuinfo *tetu[5000]; +//affichage general +void affichealletu(listetuinfo *tetu[], int nb){ + int j=0; Listchoixdept b; b = listvide(); - int j, i, nb; - char nomFich[20]; - strcpy( nomFich, "candidature.txt"); - nb = chargeretudiant(nomFich, tetu, 5000); for(j=0; jcarte; affichage(b); printf("\n\n"); } } +//========================================================================================================== + +void test1(void){ + listetuinfo *tetu[5000]; + int nb; + char nomFich[20]; + strcpy( nomFich, "candidature.txt"); + nb = chargeretudiant(nomFich, tetu, 5000); + affichealletu(tetu, nb); +} + From 501b87cf95582a7027ce7d6b9e1b920e6cbb0ec4 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Tue, 20 Dec 2022 13:51:54 +0100 Subject: [PATCH 23/26] MODIF add enregistrement et ajout --- sae1-02.c | 200 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 171 insertions(+), 29 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 88991a7..92786e0 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -31,42 +31,21 @@ VilleIUT lire(FILE * fe) { // Partie 2 /* - ( beaucoup de donnée a traité n(min 10 ; max ?)*nb candidat donc faire attention ) - possibilité pour le candidat pouvoir - - - - nb candidats (général en haut du doss) - - - num candidat - - nom candidat - - prénom candidat - - liste des notes (moyenne dans le sens précis -- math francais anglais et matière spé) - |<= nb choix - |=>recurrence : - |- ville - |- département |- décision ( admis - 1 /attente 0 default /refusé -2 ) |- validation candidat ( 0 default / -1 refus de ce choix / 2 accepte ) -doit venir du menu car sinon pas de transport pour la part 3, -le tableau de pointeur qui contient listcandinfo et listcand, - - - - combien de fonctionnalité en combien de fonction ... V charger fichier + V ajouter choix - modifier choix - - ajouter choix - supp choix - V afficher les infos d'un cand - - tout cand d'un dep (ordre alphabétique) - - enregistrer fichier + V enregistrer fichier + - section affichage */ -//chargement =========================================================================================== +//chargement ============================================================================================ Listchoixdept listvide(void){return NULL;} @@ -108,8 +87,149 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ return nbetu; } +//enregistrement ======================================================================================== + +void enregistrementcarte(FILE *fe, Maillonchoix* b){ + if(b==NULL){return;} + fprintf(fe, "%s\n%s\n%d\n%d\n", b->Ville, b->dep, b->decision, b->validation); + enregistrementcarte(fe, b.suivant, nb-1); + free(b); +} + +void enregistrementinfo(FILE *fe, listetuinfo etu){ + Listchoixdept b; + int i=0; + b = etu.carte; + fprintf(fe, "%d\n%s\n%s\n%d %d %d %d\n%d\n", etu->numeroetu, etu->nometu, etu->prenometu, etu->notes, etu->nbchoix); + enregistrementcarte(fe, b, etu.nbchoix); +} + +int enregistrementetudiant(char nomFich[], listetuinfo *tetu[], int nb){ + int i=0; + FILE *fe; + fe = fopen( nomFich, "w"); + if(fe==NULL){printf("\n");return-1;} + fprintf(fe, "%d\n", nb); + for(i=0; i affichage tville avec uniquement les dep =========== + +void affichagedep(MaillonDept* b){ + if(b==NULL){return;} + printf("%s", b->departement); + affichagedep(b.suivant); +} + +void affichageville(Maillon *tville[], int nbville){ + int i; + Listdept b; + for(i=0; iVille); + affichagedep(b); + printf("\n"); + } +} + +//========================== -fin de sous-partie + +int cherchelistcorrespond(MaillonDept* b, char choixdep[]){ + if(b==NULL){return -1} + if(strcmp(b->departement,choixdep)==0){return 1;} + return cherchelistcorrespond(b.suivant); +} + +int correspond(Maillon *tville[], int nbville, char choixville[], char choixdep[]){ + int i; + Listdept b; + for(i=0; iVille,choixville)==0){ + b = tville[i].ldept; + ok = cherchelistcorrespond(b, choixdep); + if(ok==1){return 1;} + } + } + return -1; +} + +void affichechoix(Maillon *tville[], int nbville, char choixville[], char choixdep[]){ + affichageville(tville); + printf("ville : "); + fgets(choixville, 31, stdin); + choixville[strlen(choixville)-1]='\0'; + fgets(choixdep, 31, stdin); + choixdep[strlen(choixdep)-1]='\0'; + ok = correspond(tville, nbville, choixville, choixdep); + while(ok=-1){ + affichageville(tville); + printf("ville : "); + fgets(choixville, 31, stdin); + choixville[strlen(choixville)-1]='\0'; + fgets(choixdep, 31, stdin); + choixdep[strlen(choixdep)-1]='\0'; + ok = correspond(tville, nbville, choixville, choixdep); + } +} + +int verifdoublon(char choixville[], char choixdep[], Maillonchoix* b){ + if(b==NULL){return 0;} + if(strcmp(choixville,b->Ville)==0){ + if(strcmp(choixdep,b->departement)==0){ + return -1 + } + } +} + +Listchoixdept ajoutercarte(Maillonchoix* a, char choixville, char choixdep){ + Maillonchoix* carte; + carte = (Maillonchoix*)malloc(sizeof(Maillonchoix)); + if(carte==NULL){printf("\n");exit(1);} + strcpy(carte->Ville,choixville); + strcpy(carte->departement,choixdep); + carte->decision=0; + carte->validation=0; + carte->suviant=a; + return carte; +} + +int allajoutprocess(Maillon *tville[], listetuinfo etu, int nbville){ + int i; + Listchoixdept b; + b = etu.carte; + char choixville[31], choixdep[31]; + affichechoix(tville, nbville, choixville, choixdep); + ok = verifdoublon(choixville, choixdep, b); + if(ok==0){b = ajoutercarte(b, choixville, choixdep);} + else{printf("\t< choix deja existant >\n");} +} + +//modifier ============================================================================================== + +// modification par ville ou par dep + + + + +//supprimer ============================================================================================= + +//affichage ============================================================================================= + //======================================================================================================= + + + + + + +// zone de test ============================================================================================ + //affiche uniquement les cartes (choix d'iut) void affichage(Listchoixdept c){ if(c==NULL){printf("\n");return;} @@ -144,8 +264,6 @@ void affichealletu(listetuinfo *tetu[], int nb){ } } -//========================================================================================================== - void test1(void){ listetuinfo *tetu[5000]; int nb; @@ -155,13 +273,37 @@ void test1(void){ affichealletu(tetu, nb); } - - +//========================================================================================================== // Partie 3 // Partie 4 + + + + + + + + + + + + + + + + + + + + + + + + + // Général (menu et ce qui en ai relié) /* questionadmin(){ From 82690d94a098c7c563ebb4f997e94170ad34c2f7 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Tue, 20 Dec 2022 17:54:44 +0100 Subject: [PATCH 24/26] MODIF add modifier et supp --- sae1-02.c | 177 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 140 insertions(+), 37 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 92786e0..50c9549 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -38,8 +38,8 @@ combien de fonctionnalité en combien de fonction ... V charger fichier V ajouter choix - - modifier choix - - supp choix + V modifier choix + V supp choix V enregistrer fichier - section affichage @@ -117,8 +117,11 @@ int enregistrementetudiant(char nomFich[], listetuinfo *tetu[], int nb){ fclose(fe); } -//ajouter =============================================================================================== -// sous-partie -> affichage tville avec uniquement les dep =========== +//affichage ============================================================================================= + + + +//général fonction for ajouter modifier et supprimer =========== void affichagedep(MaillonDept* b){ if(b==NULL){return;} @@ -126,6 +129,12 @@ void affichagedep(MaillonDept* b){ affichagedep(b.suivant); } +void affichagecarte(Maillonchoix* carte){ + if(carte==NULL){return;} + printf("%s - %s\n", carte->Ville, carte->dep); + afficherchoix(carte.suivant); +} + void affichageville(Maillon *tville[], int nbville){ int i; Listdept b; @@ -137,16 +146,22 @@ void affichageville(Maillon *tville[], int nbville){ } } -//========================== -fin de sous-partie +void affichervillechoix(Maillon villechoix){ + int i; + Listdept b; + b = villechoix.ldept; + printf("%s :\n", villechoix->Ville); + affichagedep(b); + printf("\n"); +} -int cherchelistcorrespond(MaillonDept* b, char choixdep[]){ - if(b==NULL){return -1} - if(strcmp(b->departement,choixdep)==0){return 1;} - return cherchelistcorrespond(b.suivant); +int cherchelistcorrespond(MaillonDept* dep, char choixdep[]){ + if(dep==NULL){return -1} + if(strcmp(dep->departement,choixdep)==0){return 1;} + return cherchelistcorrespond(dep.suivant); } -int correspond(Maillon *tville[], int nbville, char choixville[], char choixdep[]){ - int i; +int correspondville(char choixville[], char choixdep[], Maillon *tville[], int nbville){ Listdept b; for(i=0; iVille,choixville)==0){ @@ -158,31 +173,35 @@ int correspond(Maillon *tville[], int nbville, char choixville[], char choixdep[ return -1; } -void affichechoix(Maillon *tville[], int nbville, char choixville[], char choixdep[]){ - affichageville(tville); - printf("ville : "); +int correspondcarte(char choixville[], char choixdep[], Maillonchoix* carte){ + if(carte==NULL){return 0;} + if(strcmp(choixville,carte->Ville)==0){ + if(strcmp(choixdep,carte->dep)==0){ + return 1; + } + } + correspondcarte(choixville, choixdep, carte.suivant); +} + +//ajouter =============================================================================================== + +void choix(Maillon *tville[], int nbville, char choixville[], char choixdep[]){ + int i, ok; + printf("ville : \n"); fgets(choixville, 31, stdin); choixville[strlen(choixville)-1]='\0'; + printf("departement : \n"); fgets(choixdep, 31, stdin); choixdep[strlen(choixdep)-1]='\0'; - ok = correspond(tville, nbville, choixville, choixdep); - while(ok=-1){ - affichageville(tville); - printf("ville : "); + ok = correspondville(choixville, choixdep, tville[i], nbville); + while(ok!=1){ + printf("ville : \n"); fgets(choixville, 31, stdin); choixville[strlen(choixville)-1]='\0'; + printf("departement : \n"); fgets(choixdep, 31, stdin); choixdep[strlen(choixdep)-1]='\0'; - ok = correspond(tville, nbville, choixville, choixdep); - } -} - -int verifdoublon(char choixville[], char choixdep[], Maillonchoix* b){ - if(b==NULL){return 0;} - if(strcmp(choixville,b->Ville)==0){ - if(strcmp(choixdep,b->departement)==0){ - return -1 - } + ok = correspondville(choixville, choixdep, tville[i], nbville); } } @@ -203,32 +222,116 @@ int allajoutprocess(Maillon *tville[], listetuinfo etu, int nbville){ Listchoixdept b; b = etu.carte; char choixville[31], choixdep[31]; - affichechoix(tville, nbville, choixville, choixdep); - ok = verifdoublon(choixville, choixdep, b); + afficheville(tville, nbville); + choix(tville, nbville, choixville, choixdep); + ok = correspondcarte(choixville, choixdep, b); if(ok==0){b = ajoutercarte(b, choixville, choixdep);} else{printf("\t< choix deja existant >\n");} } //modifier ============================================================================================== -// modification par ville ou par dep - - +void choix2(Listchoixdept lcarte, char choixville[], char choixdep[]){ + printf("ville : \n"); + fgets(choixville, 31, stdin); + choixville[strlen(choixville)-1]='\0'; + printf("departement : \n"); + fgets(choixdep, 31, stdin); + choixdep[strlen(choixdep)-1]='\0'; + ok = correspondcarte(choixville, choixdep, lcarte); + while(ok!=1){ + printf("ville : \n"); + fgets(choixville, 31, stdin); + choixville[strlen(choixville)-1]='\0'; + printf("departement : \n"); + fgets(choixdep, 31, stdin); + choixdep[strlen(choixdep)-1]='\0'; + ok = correspondcarte(choixville, choixdep, lcarte); + } +} +void choixdep(char choixville[], char choixdep[], Maillon *tville[], int nbville){ + int ok; + printf("\n< quel departement voulez vous choisir ? >\n==>"); + fgets(choixdep, 31, stdin); + choixdep[strlen(choixdep)-1]='\0'; + ok = correspondville(choixville, choixdep, tville[i], nbville); + while(ok!=1){ + printf("\n< quel departement voulez vous choisir ? >\n==>"); + fgets(choixdep, 31, stdin); + choixdep[strlen(choixdep)-1]='\0'; + ok = correspondville(choixville, choixdep, tville[i], nbville); + } +} -//supprimer ============================================================================================= +listetuinfo choixmodifcarte(char choixville[], char choixdep[], Maillon *tville[], int nbville){ + if(b==NULL){return -1;} + Listdept dep; + if(strcmp(b->Ville,choixville)==0){ + if(strcmp(b->dep,choixdep)==0){ + choixdep(choixville, choixdep, tville, nbville); + b->dep=choixville; + return b; + } + } + b->suivant = choixmodifcarte(b.suivant, choixville, choixdep); +} -//affichage ============================================================================================= +int correspondvilleonly(char choixville[], Maillon ville){ + Listdept b; + if(strcmp(ville->Ville,choixville)==0){ + affichervillechoix(ville); + return 1; + } +} -//======================================================================================================= +void modificationcarte(listetuinfo etu, Maillon *tville[], int nbville){ + int i, ok; + char choixville[31], choixdep[31]; + Listchoixdept lcarte; + lcarte=etu.carte; + affichagecarte(lcarte); + choix2(lcarte, choixville, choixdep); + for(i=0; i\n");} + } +} +//supprimer ============================================================================================= +Maillonchoix suppressioncartechoix(char choixville[], char choixdep[], Maillonchoix carte){ + Maillon tmp; + if(carte==NULL){return;} + if(strcmp(carte->Ville,choixville)==0){ + if(strcmp(choixdep,carte->dep)==0){ + tmp=carte->suivant; + free(carte); + return tmp; + } + } + suppressioncartechoix(choixville, choixdep, carte.suivant); +} +void suppcarte(listetuinfo etu,){ + int i, ok; + char choixville[31], choixdep[31]; + Listchoixdept lcarte; + lcarte=etu.carte; + affichagecarte(lcarte); + choix2(lcarte, choixville, choixdep); + lcarte = suppressioncartechoix(choixville, choixdep, lcarte); +} +//======================================================================================================= -// zone de test ============================================================================================ +// zone de test ========================================================================================= //affiche uniquement les cartes (choix d'iut) void affichage(Listchoixdept c){ From 227c5450ec15800909324a6fd9c92f3cb863eace Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Wed, 21 Dec 2022 16:52:04 +0100 Subject: [PATCH 25/26] MODIF correction erreur v1 --- sae1-02.c | 93 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 44 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index 50c9549..f185ee6 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -89,29 +89,31 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ //enregistrement ======================================================================================== -void enregistrementcarte(FILE *fe, Maillonchoix* b){ - if(b==NULL){return;} - fprintf(fe, "%s\n%s\n%d\n%d\n", b->Ville, b->dep, b->decision, b->validation); - enregistrementcarte(fe, b.suivant, nb-1); - free(b); +void enregistrementcarte(FILE *fe, Maillonchoix* carte, int nb){ + if(carte==NULL){return;} + fprintf(fe, "%s\n%s\n%d\n%d\n", carte->Ville, carte->dep, carte->decision, carte->validation); + enregistrementcarte(fe, carte->suivant, nb-1); + free(carte); } void enregistrementinfo(FILE *fe, listetuinfo etu){ Listchoixdept b; int i=0; b = etu.carte; - fprintf(fe, "%d\n%s\n%s\n%d %d %d %d\n%d\n", etu->numeroetu, etu->nometu, etu->prenometu, etu->notes, etu->nbchoix); + fprintf(fe, "%d\n%s\n%s\n%d %d %d %d\n%d\n", etu.numeroetu, etu.nometu, etu.prenometu, etu.notes, etu.nbchoix); enregistrementcarte(fe, b, etu.nbchoix); } int enregistrementetudiant(char nomFich[], listetuinfo *tetu[], int nb){ int i=0; FILE *fe; + listetuinfo etu; fe = fopen( nomFich, "w"); if(fe==NULL){printf("\n");return-1;} fprintf(fe, "%d\n", nb); for(i=0; idepartement); - affichagedep(b.suivant); +void affichagedep(MaillonDept* carte){ + if(carte==NULL){return;} + printf("%s", carte->departement); + affichagedep(carte->suivant); } void affichagecarte(Maillonchoix* carte){ if(carte==NULL){return;} printf("%s - %s\n", carte->Ville, carte->dep); - afficherchoix(carte.suivant); + afficherchoix(carte->suivant); } void affichageville(Maillon *tville[], int nbville){ int i; Listdept b; for(i=0; ildept; printf("%s :\n", tville[i]->Ville); affichagedep(b); printf("\n"); @@ -148,20 +150,21 @@ void affichageville(Maillon *tville[], int nbville){ void affichervillechoix(Maillon villechoix){ int i; - Listdept b; - b = villechoix.ldept; - printf("%s :\n", villechoix->Ville); - affichagedep(b); + Listdept ldep; + ldep = villechoix.ldept; + printf("%s :\n", villechoix.Ville); + affichagedep(ldep); printf("\n"); } int cherchelistcorrespond(MaillonDept* dep, char choixdep[]){ - if(dep==NULL){return -1} + if(dep==NULL){return -1;} if(strcmp(dep->departement,choixdep)==0){return 1;} - return cherchelistcorrespond(dep.suivant); + return cherchelistcorrespond(dep->suivant, choixdep); } int correspondville(char choixville[], char choixdep[], Maillon *tville[], int nbville){ + int i, ok; Listdept b; for(i=0; iVille,choixville)==0){ @@ -180,7 +183,7 @@ int correspondcarte(char choixville[], char choixdep[], Maillonchoix* carte){ return 1; } } - correspondcarte(choixville, choixdep, carte.suivant); + correspondcarte(choixville, choixdep, carte->suivant); } //ajouter =============================================================================================== @@ -193,7 +196,7 @@ void choix(Maillon *tville[], int nbville, char choixville[], char choixdep[]){ printf("departement : \n"); fgets(choixdep, 31, stdin); choixdep[strlen(choixdep)-1]='\0'; - ok = correspondville(choixville, choixdep, tville[i], nbville); + ok = correspondville(choixville, choixdep, tville, nbville); while(ok!=1){ printf("ville : \n"); fgets(choixville, 31, stdin); @@ -201,28 +204,28 @@ void choix(Maillon *tville[], int nbville, char choixville[], char choixdep[]){ printf("departement : \n"); fgets(choixdep, 31, stdin); choixdep[strlen(choixdep)-1]='\0'; - ok = correspondville(choixville, choixdep, tville[i], nbville); + ok = correspondville(choixville, choixdep, tville, nbville); } } -Listchoixdept ajoutercarte(Maillonchoix* a, char choixville, char choixdep){ +Listchoixdept ajoutercarte(Maillonchoix* a, char choixville[], char choixdep[]){ Maillonchoix* carte; carte = (Maillonchoix*)malloc(sizeof(Maillonchoix)); if(carte==NULL){printf("\n");exit(1);} strcpy(carte->Ville,choixville); - strcpy(carte->departement,choixdep); + strcpy(carte->dep,choixdep); carte->decision=0; carte->validation=0; - carte->suviant=a; + carte->suivant=a; return carte; } int allajoutprocess(Maillon *tville[], listetuinfo etu, int nbville){ - int i; + int i, ok; Listchoixdept b; b = etu.carte; char choixville[31], choixdep[31]; - afficheville(tville, nbville); + affichageville(tville, nbville); choix(tville, nbville, choixville, choixdep); ok = correspondcarte(choixville, choixdep, b); if(ok==0){b = ajoutercarte(b, choixville, choixdep);} @@ -232,6 +235,7 @@ int allajoutprocess(Maillon *tville[], listetuinfo etu, int nbville){ //modifier ============================================================================================== void choix2(Listchoixdept lcarte, char choixville[], char choixdep[]){ + int ok; printf("ville : \n"); fgets(choixville, 31, stdin); choixville[strlen(choixville)-1]='\0'; @@ -250,7 +254,7 @@ void choix2(Listchoixdept lcarte, char choixville[], char choixdep[]){ } } -void choixdep(char choixville[], char choixdep[], Maillon *tville[], int nbville){ +void fchoixdep(char choixville[], char choixdep[], Maillon *tville[], int nbville){ int ok; printf("\n< quel departement voulez vous choisir ? >\n==>"); fgets(choixdep, 31, stdin); @@ -264,22 +268,22 @@ void choixdep(char choixville[], char choixdep[], Maillon *tville[], int nbville } } -listetuinfo choixmodifcarte(char choixville[], char choixdep[], Maillon *tville[], int nbville){ - if(b==NULL){return -1;} - Listdept dep; - if(strcmp(b->Ville,choixville)==0){ - if(strcmp(b->dep,choixdep)==0){ - choixdep(choixville, choixdep, tville, nbville); - b->dep=choixville; - return b; +Maillonchoix choixmodifcarte(Maillonchoix dep, char choixville[], char choixdep[]){ + Maillonchoix dep; + if(dep==NULL){exit(1);} + if(strcmp(dep->Ville,choixville)==0){ + if(strcmp(dep->dep,choixdep)==0){ + fchoixdep(choixville, choixdep, tville, nbville); + dep->dep=choixville; + return dep; } } - b->suivant = choixmodifcarte(b.suivant, choixville, choixdep); + dep->suivant = choixmodifcarte(dep.suivant, choixville, choixdep); } int correspondvilleonly(char choixville[], Maillon ville){ Listdept b; - if(strcmp(ville->Ville,choixville)==0){ + if(strcmp(ville.Ville,choixville)==0){ affichervillechoix(ville); return 1; } @@ -295,8 +299,9 @@ void modificationcarte(listetuinfo etu, Maillon *tville[], int nbville){ for(i=0; i\n");} } @@ -304,9 +309,9 @@ void modificationcarte(listetuinfo etu, Maillon *tville[], int nbville){ //supprimer ============================================================================================= -Maillonchoix suppressioncartechoix(char choixville[], char choixdep[], Maillonchoix carte){ - Maillon tmp; - if(carte==NULL){return;} +Maillonchoix suppressioncartechoix(char choixville[], char choixdep[], Maillonchoix* carte){ + Maillonchoix* premier, tmp; + if(carte==NULL){exit(1);} if(strcmp(carte->Ville,choixville)==0){ if(strcmp(choixdep,carte->dep)==0){ tmp=carte->suivant; @@ -314,10 +319,10 @@ Maillonchoix suppressioncartechoix(char choixville[], char choixdep[], Maillonch return tmp; } } - suppressioncartechoix(choixville, choixdep, carte.suivant); + carte = suppressioncartechoix(choixville, choixdep, carte.suivant); } -void suppcarte(listetuinfo etu,){ +void suppcarte(listetuinfo etu){ int i, ok; char choixville[31], choixdep[31]; Listchoixdept lcarte; From 6ca61fa73df6383a22815a807a5eabc809892c77 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Thu, 22 Dec 2022 18:30:03 +0100 Subject: [PATCH 26/26] MODIF finition P4 , reste d'erreur --- sae1-02.c | 224 +++++++++++++++++++++++++++++++++++++++++++++--------- sae1-02.h | 5 +- 2 files changed, 193 insertions(+), 36 deletions(-) diff --git a/sae1-02.c b/sae1-02.c index f185ee6..4556aea 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -28,24 +28,34 @@ VilleIUT lire(FILE * fe) { return v; } */ -// Partie 2 -/* - |- décision ( admis - 1 /attente 0 default /refusé -2 ) - |- validation candidat ( 0 default / -1 refus de ce choix / 2 accepte ) -combien de fonctionnalité en combien de fonction ... - V charger fichier - V ajouter choix - V modifier choix - V supp choix - V enregistrer fichier - - section affichage -*/ -//chargement ============================================================================================ + + + + + + + + + + + + + + + + + + + + +// Partie 2 + +//chargement ====================================================================================================================================================================== Listchoixdept listvide(void){return NULL;} @@ -87,7 +97,7 @@ int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax){ return nbetu; } -//enregistrement ======================================================================================== +//enregistrement ======================================================================================================================================================== void enregistrementcarte(FILE *fe, Maillonchoix* carte, int nb){ if(carte==NULL){return;} @@ -104,7 +114,7 @@ void enregistrementinfo(FILE *fe, listetuinfo etu){ enregistrementcarte(fe, b, etu.nbchoix); } -int enregistrementetudiant(char nomFich[], listetuinfo *tetu[], int nb){ +int enregistrementetudiants(char nomFich[], listetuinfo *tetu[], int nb){ int i=0; FILE *fe; listetuinfo etu; @@ -119,11 +129,8 @@ int enregistrementetudiant(char nomFich[], listetuinfo *tetu[], int nb){ fclose(fe); } -//affichage ============================================================================================= - - -//général fonction for ajouter modifier et supprimer =========== +//général fonction for ajouter modifier et supprimer ======================================================================================== void affichagedep(MaillonDept* carte){ if(carte==NULL){return;} @@ -186,7 +193,7 @@ int correspondcarte(char choixville[], char choixdep[], Maillonchoix* carte){ correspondcarte(choixville, choixdep, carte->suivant); } -//ajouter =============================================================================================== +//ajouter ============================================================================================================================================= void choix(Maillon *tville[], int nbville, char choixville[], char choixdep[]){ int i, ok; @@ -232,7 +239,7 @@ int allajoutprocess(Maillon *tville[], listetuinfo etu, int nbville){ else{printf("\t< choix deja existant >\n");} } -//modifier ============================================================================================== +//modifier ============================================================================================================================================================== void choix2(Listchoixdept lcarte, char choixville[], char choixdep[]){ int ok; @@ -307,14 +314,14 @@ void modificationcarte(listetuinfo etu, Maillon *tville[], int nbville){ } } -//supprimer ============================================================================================= +//supprimer ========================================================================================================================================== Maillonchoix suppressioncartechoix(char choixville[], char choixdep[], Maillonchoix* carte){ Maillonchoix* premier, tmp; if(carte==NULL){exit(1);} - if(strcmp(carte->Ville,choixville)==0){ - if(strcmp(choixdep,carte->dep)==0){ - tmp=carte->suivant; + if(strcmp(carte.Ville,choixville)==0){ + if(strcmp(choixdep,carte.dep)==0){ + tmp=carte.suivant; free(carte); return tmp; } @@ -332,19 +339,31 @@ void suppcarte(listetuinfo etu){ lcarte = suppressioncartechoix(choixville, choixdep, lcarte); } -//======================================================================================================= - +//affichage ======================================================================================================================================================= +void affichagecarteall(Maillonchoix* carte){ + if(carte==NULL){return;} + printf("%s - %s\n décision : %d\nvalidation : %d\n", carte->Ville, carte->dep, carte->decision, carte->validation); + afficherchoix(carte->suivant); +} -// zone de test ========================================================================================= +void affichageetu(listetuinfo etu){ + Listchoixdept lcarte; + lcarte=etu.carte; + printf(" %d\n %s %s\n", a.numeroetu, a.nometu, a.prenometu); + printf(" mathématique : %d\n", a.notes[0]); + printf(" français : %d\n", a.notes[1]); + printf(" anglais : %d\n", a.notes[2]); + printf(" matière spé : %d\n", a.notes[3]); + affichagecarteall(lcarte); +} -//affiche uniquement les cartes (choix d'iut) void affichage(Listchoixdept c){ if(c==NULL){printf("\n");return;} printf("%s %s %d %d", c->Ville, c->dep, c->decision, c->validation); if(c->suivant==NULL){affichage(c->suivant);} else{ - printf("\n -"); + printf("\n - "); affichage(c->suivant); } } @@ -352,9 +371,9 @@ void affichage(Listchoixdept c){ //affiche que la personne void affichageetu(listetuinfo a){ printf(" %d\n %s %s\n", a.numeroetu, a.nometu, a.prenometu); - printf(" mathématique : %d\n", a.notes[0]); - printf(" français : %d\n", a.notes[1]); - printf(" anglais : %d\n", a.notes[2]); + printf(" mathématique : %d -", a.notes[0]); + printf(" français : %d -", a.notes[1]); + printf(" anglais : %d -", a.notes[2]); printf(" matière spé : %d\n", a.notes[3]); } @@ -365,13 +384,17 @@ void affichealletu(listetuinfo *tetu[], int nb){ b = listvide(); for(j=0; jcarte; affichage(b); printf("\n\n"); } } +//========================================================================================================================================================= + +// zone de test ========================================================================================= + void test1(void){ listetuinfo *tetu[5000]; int nb; @@ -385,7 +408,6 @@ void test1(void){ // Partie 3 -// Partie 4 @@ -411,6 +433,138 @@ void test1(void){ + + + + + + + + + + +// Partie 4 + +/* + V affichage coté candidat de ces infos admis ou pas + - valdier ça candidature refuse les autres + - valider met a jour le dossier candidature + - chaque departement peut consulter ça liste d'attente + - metre a jour la liste + - + - + - + - + - + +*/ + + +// coté etu========================================================================================================= +// affichage + +void affichagedepresultat(Maillonchoix* carte){ + if(carte==NULL){return;} + if(carte->decision==1){ + printf("%s %s - admis \n", carte.Ville, carte.dep); + } + if(carte->decision==1){ + printf("%s %s - refusé \n", carte.Ville, carte.dep); + } + if(carte->decision==1){ + printf("%s %s - lsite d'attente \n", carte.Ville, carte.dep); + } + affichagedepresultat(carte.suivant); +} + +// validation + +void validation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok, Maillonatt lplace, int nbplace, listetuinfo etu){ + if(carte==NULL){return;} + if(strcmp(carte.Ville,choixville)==0){ + if(strcmp(carte.dep,choixdep)==0){ + if(carte.decision==1){ + carte.validation=1; + *ok=1; + }else{printf("vous netes pas admis dans cette iut\n");*ok=-1;return;} + } + } + validation(choixville, choixdep, carte.suivant, ok); + if(ok==1){ + if(carte.decision==1){ + carte.validation=-1; + miseajourindep( lplace, nbplace, etu); + } + } +} + +void enregistrementvalidation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok, char nomFich[], listetuinfo *tetu[], int nb){ + int ok; + validation( choixville, choixdep, carte, &ok); + enregistrementetudiants( nomFich, tetu, nb); +} + +// -> mise a jour + +Maillonatt miseajourfile(Maillonatt place, int nbplace, listetuinfo etu){ + if(place==NULL){exit(1);} + if(place.munc==etu.numeroetu){ + Maillonatt temp; + temp=place.suivant; + free(place); + return temp; + } + miseajourfile(place.suivant, nbplace-1); +} + +int miseajouratt(Maillonatt place, int nbplace){ + if(place==NULL){return;} + if(nbplace==0){return;} + if(place.decision==2){ + place.decision==1; + } + miseajouratt(place.suivant, nbplace-1); +} + +void miseajourindep(Maillonatt lplace, int nbplace, listetuinfo etu){ + lpace = miseajourfile(lplace, nbplace, etu); + miseajouratt(lplace, nbplace); +} + + + +// coté dep============================================================================================================= +// affichage dep + +void affichageonlyadmis(Maillonatt etuatt){ + if(etuatt==NULL){return;} + if(etuatt.decision==1){ + printf("%d %s %s\n" etuatt.numc, etuatt.nom, etuatt.prenom); + } + affichageonlyadmis(etuatt.suivant); +} + +void affichageonlyatt(Maillonatt etuatt){ + if(etuatt==NULL){return;} + if(etuatt.decision==1){ + printf("%d %s %s\n" etuatt.numc, etuatt.nom, etuatt.prenom); + } + affichageonlyatt(etuatt.suivant); +} + +//chercher present en admission ======================================================================================== + +void chercheretuadmisindep(char choixnom[], char nomprenom[], Maillonatt etuatt){ + if(etuatt==NULL){printf("erreur de recherche\n");return;} + if(strcmp(etuatt.nom,choixnom)==0){ + if(strcmp(etuatt.prenom,choixprenom)==0){ + if(etuatt.decision==1){printf("%s %s est admis\n", etuatt.nom, etuatt.prenom);return;} + if(etuatt.decision==2){printf("%s %s est en attente\n", etuatt.nom, etuatt.prenom);return;} + if(etuatt.decision==-1){printf("%s %s est refusé\n", etuatt.nom, etuatt.prenom);return;} + } + } + chercheretuadmisindep(choixnom, choixprenom, etuatt.suivant); +} // Général (menu et ce qui en ai relié) /* diff --git a/sae1-02.h b/sae1-02.h index 5ccfbd8..36989d7 100644 --- a/sae1-02.h +++ b/sae1-02.h @@ -57,7 +57,10 @@ typedef struct listresp{ // Partie 4 typedef struct listatt{ int numc; + char nom[21]; + char prenom[21]; + int decision; struct listatt* suivant; -}maillonatt; +}Maillonatt; void test1(void);