diff --git a/candidature.txt b/candidature.txt index 05e5df8..506b697 100644 --- a/candidature.txt +++ b/candidature.txt @@ -4,15 +4,15 @@ cheval blanc 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -21,15 +21,15 @@ fou blanc 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -38,15 +38,15 @@ roi blanc 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -55,15 +55,15 @@ reine blanc 10 12 13 16 3 -clermont-ferrand -informatique +Clermont-Ferrand +Biologie 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -72,15 +72,15 @@ tour blanc 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -89,15 +89,15 @@ pion blanc 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -106,15 +106,15 @@ cheval noir 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -123,15 +123,15 @@ fou noir 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -140,15 +140,15 @@ roi noir 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -157,15 +157,15 @@ reine noir 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -174,15 +174,15 @@ tour noir 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 @@ -191,15 +191,15 @@ pion noir 10 12 13 16 3 -clermont-ferrand +Clermont-Ferrand informatique 0 0 -grenoble +Grenoble informatique 0 0 -aurillac +Aurillac bio-informatique 0 0 diff --git a/donneesIUT.don b/donneesIUT.don index 90fc23a..29498c0 100644 --- a/donneesIUT.don +++ b/donneesIUT.don @@ -1,17 +1,21 @@ -Grenoble 1 -Informatique 112 Dupont Jean +Grenoble 1 +Informatique 112 Dupont Jean Clermont-Ferrand 2 -Informatique 136 Simon Carine -Biologie 120 Giroud Olivier +Informatique 136 Simon Carine -Aurillac 1 +Biologie 120 Giroud Olivier + +Aurillac 1 Bio-informatique 120 Mbappe Kylian -Valence 2 -Chimie 97 Pogba Paul -Physique 130 Depay Memphis +Valence 2 +Chimie 97 Pogba Paul + +Physique 130 Depay Memphis + +Lyon 2 +Géosciences 122 Santan Dave + +Economie 135 Jean-Michel Aulas -Lyon 2 -Géosciences 122 Santan Dave -Economie 135 Jean-Michel Aulas diff --git a/mainsae1-02.c b/mainsae1-02.c index e677cea..0a21eb1 100644 --- a/mainsae1-02.c +++ b/mainsae1-02.c @@ -5,6 +5,6 @@ int main(void){ - test1(); + test(); return 0; -} \ No newline at end of file +} diff --git a/sae b/sae index 9973529..eab7bb9 100755 Binary files a/sae and b/sae differ diff --git a/sae1-02.c b/sae1-02.c index d0bc3fc..51219c4 100644 --- a/sae1-02.c +++ b/sae1-02.c @@ -356,7 +356,7 @@ 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[0], etu->notes[1], etu->notes[2], etu->notes[3], etu->nbchoix); enregistrementcarte(fe, b, etu->nbchoix); } @@ -450,9 +450,10 @@ int correspondcarte(char choixville[], char choixdep[], Listchoixdept carte){ //ajouter ============================================================================================================================================= void choix(VilleIUT *tville[], int nbville, char choixville[], char choixdep[]){ - int i, ok=0; + int i, ok=1; printf("ville : "); fgets(choixville, 31, stdin); + fgets(choixville, 31, stdin); choixville[strlen(choixville)-1]='\0'; printf("departement : "); fgets(choixdep, 31, stdin); @@ -482,18 +483,21 @@ Listchoixdept ajoutercarte(Maillonchoix* a, char choixville[], char choixdep[]){ return carte; } -void allajoutprocess(VilleIUT *tville[], listetuinfo etu, int nbville){ +listetuinfo allajoutprocess(VilleIUT *tville[], listetuinfo etu, int nbville){ int i, ok; Listchoixdept b; b = etu.carte; char choixville[31], choixdep[31]; affichageville(tville, nbville); choix(tville, nbville, choixville, choixdep); + printf("%s %s \n", choixville, choixdep); ok = correspondcarte(choixville, choixdep, b); + printf("%d\n", ok); if(ok==0){b = ajoutercarte(b, choixville, choixdep);} else{printf("\t< choix deja existant >\n");} etu.carte=b; -}// possible de devoir rerajouter b dans etu ??????????? et return nb+1 + return etu; +} //modifier ============================================================================================================================================================== @@ -501,6 +505,7 @@ void choix2(Listchoixdept lcarte, char choixville[], char choixdep[]){ int ok; printf("ville : \n"); fgets(choixville, 31, stdin); + fgets(choixville, 31, stdin); choixville[strlen(choixville)-1]='\0'; printf("departement : \n"); fgets(choixdep, 31, stdin); @@ -541,6 +546,7 @@ Listchoixdept choixmodifcarte(Listchoixdept dep, char choixville[], char choixde } } dep->suivant = choixmodifcarte(dep->suivant, choixville, choixdep, tville, nbville); + return dep; } void affichagedep(MaillonDept* carte){ @@ -558,35 +564,33 @@ void affichervillechoix(VilleIUT *villechoix){ printf("\n"); } -int correspondvilleonly(char choixville[], VilleIUT *ville){ - Listdept b; - if(strcmp(ville->Ville,choixville)==0){ - affichervillechoix(ville); - return 1; +int correspondvilleonly(char choixville[], VilleIUT *ville[], int nbville){ + int i; + for(i=0; iVille,choixville)==0){ + return 1; + } } } void modificationcarte(listetuinfo etu, VilleIUT *tville[], int nbville){ - int i, ok; + int ok; char choixville[31], choixdep[31]; Listchoixdept lcarte; lcarte=etu.carte; affichagecarte(lcarte); choix2(lcarte, choixville, choixdep); - for(i=0; i\n");} + ok = correspondvilleonly(choixville, tville, nbville); + if(ok==1){ + lcarte = choixmodifcarte(lcarte, choixville, choixdep, tville, nbville); + etu.carte=lcarte; } + else{printf("\t< choix pas existant >\n");} } //supprimer ========================================================================================================================================== -Maillonchoix* supptete(Listchoixdept carte){ +Maillonchoix* supp(Listchoixdept carte){ Maillonchoix *tmp; tmp=carte->suivant; free(carte); @@ -597,11 +601,12 @@ Maillonchoix* suppressioncartechoix(char choixville[], char choixdep[], Listchoi if(carte==NULL){exit(1);} if(strcmp(carte->Ville,choixville)==0){ if(strcmp(choixdep,carte->dep)==0){ - supptete(carte); - exit(1); + carte = supp(carte); + return carte; } } - carte = suppressioncartechoix(choixville, choixdep, carte->suivant); + carte->suivant = suppressioncartechoix(choixville, choixdep, carte->suivant); + return carte; } void suppcarte(listetuinfo etu){ @@ -613,6 +618,9 @@ void suppcarte(listetuinfo etu){ choix2(lcarte, choixville, choixdep); lcarte = suppressioncartechoix(choixville, choixdep, lcarte); etu.carte=lcarte; + affichageetu(etu); + lcarte=etu.carte; + affichagecarte(lcarte); } //========================================================================================================== @@ -725,7 +733,7 @@ void affichagedepresultat(Maillonchoix* carte, int *suite){ // validation -void validation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok, Maillonatt lplace, int nbplace, listetuinfo etu){ +void validation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok){ if(carte==NULL){return;} if(strcmp(carte->Ville,choixville)==0){ if(strcmp(carte->dep,choixdep)==0){ @@ -736,18 +744,41 @@ void validation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok } } validation(choixville, choixdep, carte->suivant, ok); - if(ok==1){ + if(*ok==1){ if(carte->decision==1); } } +void afficheroneetu(listetuinfo *tetu[], char choixnom[], char choixprenom[], int nbEtu){ + int i; + listetuinfo etu; + for(i=0; inometu,choixnom)==0){ + if(strcmp(tetu[i]->prenometu,choixprenom)==0){ + etu = *tetu[i]; + affichageetu(etu); + } + } + }printf(""); +} + + // MENU PARTIE 1 -void menuValidation(){} +void menuValidation(listetuinfo etu){ + int ok; + char choixville[31], choixdep[31]; + Listchoixdept lcarte; + lcarte=etu.carte; + choix2(lcarte, choixville, choixdep); + validation(choixville, choixdep, lcarte, &ok); +} -void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) { +void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu, DepartementVille *departementVille, char nomFich[]) { int choixP1U; int suite=0; + int reponse; + Maillonchoix* lcarte; while (choixP1U >= 1 || choixP1U <= 4) { printf("\n"); printf("---------------------- MENU UTILISATEUR -----------------------\n"); @@ -761,9 +792,6 @@ void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) { printf("| 7 - Supprimer un souhait |\n"); printf("| 8 - Consulter ses informations |\n"); printf("| 9 - Consulter où l'on est admis |\n"); - printf("| 10 - |\n"); - printf("| 11 - |\n"); - printf("| 12 - |\n"); printf("| |\n"); printf("| 15 - Retour |\n"); printf("| Votre choix => "); @@ -784,7 +812,7 @@ void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) { afficheIUTdepParticulier(tabVille, nb); break; case 5: - allajoutprocess(tabVille, etu, nb); + etu=allajoutprocess(tabVille, etu, nb); etu.nbchoix = etu.nbchoix+1; break; case 6: @@ -796,17 +824,23 @@ void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) { break; case 8: affichageetu(etu); + lcarte=etu.carte; + affichagecarte(lcarte); break; case 9: - affichagedepresultat(etu->lcarte, &suite); + lcarte=etu.carte; + affichagedepresultat(lcarte, &suite); if(suite==1){ - int reponse; printf("| 1 - valider un veux |\n"); printf("| autre chiffre pour sortir |\n"); printf("| =>"); scanf("%d", &reponse); //le menu de validation avec choix pour ce que l'on peux valider et apres -> validation et enregistrement - if(reponse==1){menuValidation();} + if(reponse==1){ + menuValidation(etu); + enregistrementetudiants(nomFich, tetu, nbEtu); + departementVille = useAllFunctionsCandidature(tetu, nbEtu); + } } break; case 15: @@ -817,6 +851,7 @@ void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) { void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu, DepartementVille *departementVille) { int choixP1A = 0; + char choixnom[21], choixprenom[21]; while (choixP1A >= 1 || choixP1A <= 4) { printf("\n"); printf("---------------------- MENU ADMINISTRATEUR -----------------------\n"); @@ -828,7 +863,8 @@ void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int printf("| 5 - Modifier nom responsable |\n"); printf("| 6 - Lancer analyse candidature |\n"); printf("| 7 - Afficher liste DES candidatures |\n"); - printf("| 8 - Afficher liste des candidats par départements |\n"); + printf("| 8 - Afficher une seul etudiant |\n"); + printf("| 9 - Afficher candidats par odre alphabétique |\n"); printf("| |\n"); printf("| 15 - Retour |\n"); printf("| Votre choix => "); @@ -859,6 +895,17 @@ void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int affichealletu(tetu, nbEtu); break; case 8: + printf("| quel est le nom recherché ? |\n"); + printf("| =>"); + fgets(choixnom, 21, stdin); + choixnom[strlen(choixnom)-1]='\0'; + printf("| quel est le prénom recherché ? |\n"); + printf("| =>"); + fgets(choixprenom, 21, stdin); + choixprenom[strlen(choixprenom)-1]='\0'; + afficheroneetu(tetu, choixnom, choixprenom, nbEtu); + break; + case 9: break; case 15: sauvegarde(tabVille, nb);// mettre menu général @@ -889,7 +936,7 @@ void menuPrincipal(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu, scanf("%d", &num); ligneetu = recherdicoetu(tetu, nbEtu, num); etu = *tetu[ligneetu]; - menuP1Utilisateur(etu, tabVille, nb); + menuP1Utilisateur(etu, tabVille, nb, tetu, nbEtu, departementVille, nomFich); break; case 2: menuP1Administrateur(tabVille, nb, tetu, nbEtu, departementVille); diff --git a/sae1-02.h b/sae1-02.h index 8cebf5c..69cc772 100644 --- a/sae1-02.h +++ b/sae1-02.h @@ -91,13 +91,13 @@ int correspondville(char choixville[], char choixdep[], VilleIUT *tville[], int int correspondcarte(char choixville[], char choixdep[], Listchoixdept carte); void choix(VilleIUT *tville[], int nbville, char choixville[], char choixdep[]); Listchoixdept ajoutercarte(Maillonchoix* a, char choixville[], char choixdep[]); -void allajoutprocess(VilleIUT *tville[], listetuinfo etu, int nbville); +listetuinfo allajoutprocess(VilleIUT *tville[], listetuinfo etu, int nbville); void choix2(Listchoixdept lcarte, char choixville[], char choixdep[]); void fchoixdep(char choixville[], char choixdep[], VilleIUT *tville[], int nbville); Listchoixdept choixmodifcarte(Listchoixdept dep, char choixville[], char choixdep[], VilleIUT *tville[], int nbville); void affichagedep(MaillonDept* carte); void affichervillechoix(VilleIUT *villechoix); -int correspondvilleonly(char choixville[], VilleIUT *ville); +int correspondvilleonly(char choixville[], VilleIUT *ville[], int nbville); void modificationcarte(listetuinfo etu, VilleIUT *tville[], int nbville); Maillonchoix* suppressioncartechoix(char choixville[], char choixdep[], Listchoixdept carte); void suppcarte(listetuinfo etu); @@ -134,6 +134,6 @@ typedef struct listatt{ void test(void); -void menuP1Utilisateur(listetuinfo etu, VilleIUT *v[], int nb); +void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu, DepartementVille *departementVille, char nomFich[]); void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu, DepartementVille* departementVille); void menuPrincipal(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu, DepartementVille* departementVille, char nomFich[]); \ No newline at end of file