diff --git a/src/partie1/saeP1.c b/src/partie1/saeP1.c index fb1799d..192bfd5 100644 --- a/src/partie1/saeP1.c +++ b/src/partie1/saeP1.c @@ -10,6 +10,7 @@ void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[]) { int quit=0; + int ck=0; while(!quit) { printf("#--------------------------------------------------------------------#\n"); @@ -28,38 +29,42 @@ void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[] } printf("9 : Revenir à l'écran de sélection du profil.\n\n"); printf("#--------------------------------------------------------------------#\n\n"); - printf("Choisissez l'action que vous voulez exécuter : "); - int act; - scanf("%d",&act); - switch(act){ - case 1: - SearchCityWithIUT(lvIUT,tlogi); - reset(); - break; - case 2: - DepEachIUT(lvIUT,tlogi); - reset(); - break; - case 3: - SearchPlaceFromDepInIUT(lvIUT,tlogi); - reset(); - break; - case 4: - SearchIUTFromDep(lvIUT,tlogi); - reset(); - break; - case 5: - if(CandidOpen) - { - //candidater(......); - } - reset(); - break; - case 9: - quit=1; + while(!ck) + { + printf("Choisissez l'action que vous voulez exécuter : "); + int act; + if(scanf("%d",&act)) ck=1; + } + switch(act){ + case 1: + SearchCityWithIUT(lvIUT,tlogi); + reset(); + break; + case 2: + DepEachIUT(lvIUT,tlogi); + reset(); + break; + case 3: + SearchPlaceFromDepInIUT(lvIUT,tlogi); + reset(); + break; + case 4: + SearchIUTFromDep(lvIUT,tlogi); + reset(); + break; + case 5: + if(CandidOpen) + { + //candidater(......); + } + reset(); + break; + case 9: + quit=1; } } + //Tmp candidat* tmp = (candidat*) malloc (sizeof(candidat)); tcandidat[0]=tmp; } @@ -146,6 +151,7 @@ void SearchIUTFromDep(VilleIUT* lvIUT[],int tlogi) void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){ int quit=0; + int ck=0; while(!quit){ printf("#--------------------------------------------------------------------#\n"); printf("| |\n"); @@ -162,9 +168,12 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){ printf("6 : Créer un IUT.\n"); printf("9 : Revenir à l'écran de sélection du profil.\n\n"); printf("#--------------------------------------------------------------------#\n\n"); - printf("Choisissez l'action que vous voulez exécuter : "); - int act; - scanf("%d",&act); + while(!ck) + { + printf("Choisissez l'action que vous voulez exécuter : "); + int act; + if(scanf("%d",&act)) ck=1; + } switch(act){ case 1: modifPlaces(tiut,*tlogi); @@ -179,7 +188,16 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){ reset(); break; case 4: - //gestionPhaseCandidatures(CandidOpen); A Faire (Partie 2). + if(*CandidOpen) + { + printf("Ouverture de la phase de candidature effectué !"); + CandidOpen=0; + } + else + { + printf("Fermeture de la phase de candidature effectué !"); + CandidOpen=1; + } reset(); break; case 5: diff --git a/src/partie3/saeP3.c b/src/partie3/saeP3.c index dc74055..8eb585a 100644 --- a/src/partie3/saeP3.c +++ b/src/partie3/saeP3.c @@ -16,20 +16,145 @@ void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]){ printf("| |\n"); printf("#--------------------------------------------------------------------#\n\n"); printf("Codes correspondant aux différentes actions :\n\n"); - printf("1 : tmp\n\n"); + printf("1 : Voir toutes les candidatures du département informatique de Clermont-Ferrand\n"); + printf("2 : Procéder aux admissions\n\n"); + printf("9 : Quitter\n") printf("#--------------------------------------------------------------------#\n\n"); - printf("Choisissez l'action que vous voulez exécuter : "); - int act; - scanf("%d",&act); + int ck=0; + while(!ck) + { + printf("Choisissez l'action que vous voulez exécuter : "); + int act; + if(scanf("%d",&act)) ck=1; + } switch(act){ - case 1: - printf("Oui Oui"); + case 1: + ShowCandid(tcandidat,tlogi); + reset(); + break; + case 2: + Admissions(tcandidat,tlogi); reset(); break; case 9: quit=1; } } - candidat* tmp = (candidat*) malloc (sizeof(candidat)); - tcandidat[0]=tmp; +} + +void RechercheVoeuIDInformatique(candidat candid) +{ + int ID_found=0; + for(int i=0;inote[0]*coefMath; + NoteAddmissions+=tcandidat[i]->note[1]*coefMath; + NoteAddmissions+=tcandidat[i]->note[2]*coefMath; + NoteAddmissions+=tcandidat[i]->note[3]*coefMath; + tabNoteAdmissions[i]=NoteAddmissions; + } + //Admissions + int admis=0; + int attente=0; + int tabIDCandidatAdmis; + int tabIDCandidatAttente; + for(int i=0;i=minNote) + int voeuID; + //Admis + if(admisnumcandid; + admis++; + voeuID=RechercheVoeuIDInformatique(*tcandidat[i]); + tcandidat[i]->TabVoeu[voeuID]=1; + } + //Attente + else + { + tabIDCandidatAttente[i-admis]=tcandidat[i]->numcandid; + attente++; + voeuID=RechercheVoeuIDInformatique(*tcandidat[i]); + tcandidat[i]->TabVoeu[voeuID]=2; + } + //Refus + else + { + voeuID=RechercheVoeuIDInformatique(*tcandidat[i]); + tcandidat[i]->TabVoeu[voeuID]=-1; + } + } + //Save Admis liste + FILE *fadmis; + if((fadmis=fopen("src/Database/ListeAdmisInfo.bin","wb"))==NULL) + { + perror("Erreur :"); + exit(errno); + } + else fwrite(fadmis,tabIDCandidatAdmis,sizeof(int),admis); + //Save Attente liste + FILE *fattente; + if((fattente=fopen("src/Database/ListeAttenteInfo.bin","wb"))==NULL) + { + perror("Erreur :"); + exit(errno); + } + else fwrite(fattente,tabIDCandidatAttente,sizeof(int),attente); } \ No newline at end of file