diff --git a/src/DataBase/Etudiants.bin b/src/DataBase/Etudiants.bin index aa24a84..e69de29 100644 Binary files a/src/DataBase/Etudiants.bin and b/src/DataBase/Etudiants.bin differ diff --git a/src/partie1/saeP1.c b/src/partie1/saeP1.c index 84e5ae2..eec4605 100644 --- a/src/partie1/saeP1.c +++ b/src/partie1/saeP1.c @@ -9,8 +9,7 @@ void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[]) { - int quit=0; - int ck=0; + int quit=0, ck=0, act; while(!quit) { printf("#--------------------------------------------------------------------#\n"); @@ -32,7 +31,6 @@ void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[] while(!ck) { printf("Choisissez l'action que vous voulez exécuter : "); - int act; if(scanf("%d",&act)) ck=1; } switch(act){ @@ -60,7 +58,7 @@ void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[] reset(); break; case 6: - fonctionp4?????????(); + //fonctionp4?????????(); reset(); break; case 9: @@ -154,8 +152,7 @@ void SearchIUTFromDep(VilleIUT* lvIUT[],int tlogi) //Partie Administrateur. void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){ - int quit=0; - int ck=0; + int quit=0, ck=0, act; while(!quit){ printf("#--------------------------------------------------------------------#\n"); printf("| |\n"); @@ -166,7 +163,7 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){ printf("1 : Modifier le nombre de places dans un département.\n"); printf("2 : Créer un département dans un IUT.\n"); printf("3 : Supprimer un département d’un IUT.\n"); - if (*CandidOpen) printf("4 : Arrêter la phase de candidature."); + if (*CandidOpen) printf("4 : Arrêter la phase de candidature.\n"); else printf("4 : Lancer la phase de candidature."); printf("5 : Modifier le nom d'un responsable de département.\n"); printf("6 : Créer un IUT.\n"); @@ -175,7 +172,6 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){ while(!ck) { printf("Choisissez l'action que vous voulez exécuter : "); - int act; if(scanf("%d",&act)) ck=1; } switch(act){ @@ -195,12 +191,12 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){ if(!*CandidOpen) { printf("Ouverture de la phase de candidature effectué !"); - CandidOpen=0; + *CandidOpen=0; } else { printf("Fermeture de la phase de candidature effectué !"); - CandidOpen=1; + *CandidOpen=1; } reset(); break; @@ -229,7 +225,7 @@ void modifPlaces(VilleIUT* tiut[],int tlogi){ return; } VilleIUT* v=tiut[noVille]; - printf("\n\nEntrez le département à modifier :"); + printf("\n\nEntrez le département à modifier : "); char dep[31]; scanf("%s",dep); if(!existeDep(v->ldept,dep)){ @@ -237,7 +233,7 @@ void modifPlaces(VilleIUT* tiut[],int tlogi){ return; } MaillonDep* m=v->ldept; - while(m->departement!=dep) m=m->suivant; + while(m->departement!=dep && m->suivant!=NULL) m=m->suivant; printf("\n\nIl y a actuellement %d place(s) dans le département. A combien voulez-vous modifier ce nombre ?\n\n",m->nbp); int nPlaces; scanf("%d",&nPlaces); @@ -268,7 +264,7 @@ void creerDep(VilleIUT* tiut[],int tlogi){ } MaillonDep* m=v->ldept; printf("\n\nEntrez le nom du département à créer : "); - char nomDep[31] + char nomDep[31]; scanf("%*c%s",nomDep); if(!ck){ if(m->suivant==NULL){ @@ -276,7 +272,7 @@ void creerDep(VilleIUT* tiut[],int tlogi){ m=m->suivant; } } - while(strcmp(nomDep,m->suivant)>0) m=m->suivant; + while(strcmp(nomDep,m->departement)>0) m=m->suivant; m->suivant=(MaillonDep*)malloc(sizeof(MaillonDep)); if(m->suivant==NULL){ perror("malloc"); @@ -284,7 +280,7 @@ void creerDep(VilleIUT* tiut[],int tlogi){ } m=m->suivant; } - m->departement=nomDep; + strcpy(m->departement,nomDep); printf("\n\nEntrez le nombre de places disponibles dans le département : "); scanf("%d",&m->nbp); printf("\n\nEntrez le nom du responsable de département : \n"); diff --git a/src/partie3/saeP3.c b/src/partie3/saeP3.c index 0f00440..6e603a1 100644 --- a/src/partie3/saeP3.c +++ b/src/partie3/saeP3.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "../partie1/saeP1.h" #include "../annexe/saeAnnexe.h" #include "saeP3.h" @@ -8,7 +9,7 @@ //Partie Responsable. void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]){ - int quit=0; + int quit=0, act; while(!quit){ printf("#--------------------------------------------------------------------#\n"); printf("| |\n"); @@ -18,22 +19,21 @@ void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]){ printf("Codes correspondant aux différentes actions :\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("9 : Quitter\n"); printf("#--------------------------------------------------------------------#\n\n"); 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: - ShowCandid(tcandidat,tlogi); + ShowCandid(tcandidat,*tlogi); reset(); break; case 2: - Admissions(tcandidat,tlogi); + Admissions(tcandidat,*tlogi); reset(); break; case 9: @@ -42,12 +42,12 @@ void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]){ } } -void RechercheVoeuIDInformatique(candidat candid) +int RechercheVoeuIDInformatique(candidat candid) { int ID_found=0; - for(int i=0;idep,"Informatique")) ID_found=i; } return ID_found; } @@ -57,17 +57,17 @@ void ShowCandid(candidat* tcandidat[],int tlogi) for(int i=0;isurname,tcandidat[i]->name,\ + tcandidat[i]->note[0],tcandidat[i]->note[1],tcandidat[i]->note[2],\ + tcandidat[i]->note[3]); printf("Décision département : %d\n\ - Décision candidat : %d\n\n\n\n",tcandidat[i].ddep,tcandidat[i].vcand); + Décision candidat : %d\n\n\n\n",tcandidat[i]->TabVoeu[voeuID]->ddep,tcandidat[i]->TabVoeu[voeuID]->vcand); } } } @@ -79,8 +79,8 @@ void Admissions(candidat* tcandidat[],int tlogi) float coefMath, coefFr, coefEng, coefSpe; while (!ck) { - printf("Merci de rentrez dans l'orbre et séparé par une virgule les coefficients suivant : Mathématique Français Anglais Spécialité.\n\n"); - scanf("%f %f %f %f",coefMath,coefFr,coefEng,coefSpe); + printf("Merci de rentrer dans l'ordre et séparés par un espace les coefficients suivant : Mathématique Français Anglais Spécialité.\n\n"); + scanf("%f %f %f %f",&coefMath,&coefFr,&coefEng,&coefSpe); } //Note min ck=0; @@ -88,7 +88,7 @@ void Admissions(candidat* tcandidat[],int tlogi) while (!ck) { printf("Merci de renseignez maintenant la note minimum des candidats acceptés.\n\n"); - scanf("%f",minNote); + scanf("%f",&minNote); } //Nb admissions max int nbAdmisMax; @@ -96,35 +96,35 @@ void Admissions(candidat* tcandidat[],int tlogi) while (!ck) { printf("Veuillez maintenant rentrer le nombre d'admis maximum"); - scanf("%d",nbAdmisMax); + scanf("%d",&nbAdmisMax); } //Calcul - float tabNoteAdmissions; + float tabNoteAdmissions[tlogi]; 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; + NoteAdmissions+=tcandidat[i]->note[0]*coefMath; + NoteAdmissions+=tcandidat[i]->note[1]*coefMath; + NoteAdmissions+=tcandidat[i]->note[2]*coefMath; + NoteAdmissions+=tcandidat[i]->note[3]*coefMath; + tabNoteAdmissions[i]=NoteAdmissions; } //Admissions int admis=0; int attente=0; - int tabIDCandidatAdmis; - int tabIDCandidatAttente; - for(int i=0;i=minNote) int voeuID; + if(tabNoteAdmissions[i]>=minNote){ //Admis - if(admisnumcandid; admis++; voeuID=RechercheVoeuIDInformatique(*tcandidat[i]); - tcandidat[i]->TabVoeu[voeuID]=1; + tcandidat[i]->TabVoeu[voeuID]->ddep=1; } //Attente else @@ -132,19 +132,20 @@ void Admissions(candidat* tcandidat[],int tlogi) tabIDCandidatAttente[i-admis]=tcandidat[i]->numcandid; attente++; voeuID=RechercheVoeuIDInformatique(*tcandidat[i]); - tcandidat[i]->TabVoeu[voeuID]=2; + tcandidat[i]->TabVoeu[voeuID]->ddep=2; } + } //Refus else { voeuID=RechercheVoeuIDInformatique(*tcandidat[i]); - tcandidat[i]->TabVoeu[voeuID]=-1; + tcandidat[i]->TabVoeu[voeuID]->ddep=-1; } } //Tri alphabétique - trie_??(tabIDCandidatAdmis); + //trie_??(tabIDCandidatAdmis);------------------------------------------------------ //Tri sur la note - trie_??(tabIDCandidatAttente); + //trie_??(tabIDCandidatAttente);---------------------------------------------------- //Save Admis liste FILE *fadmis; if((fadmis=fopen("src/Database/ListeAdmisInfo.bin","wb"))==NULL) @@ -154,8 +155,8 @@ void Admissions(candidat* tcandidat[],int tlogi) } else { - fwrite(fadmis,admis,sizeof(int),1); - fwrite(fadmis,tabIDCandidatAdmis,sizeof(int),admis); + fwrite(&admis,sizeof(int),1,fadmis); + fwrite(tabIDCandidatAdmis,sizeof(int),admis,fadmis); } //Save Attente liste FILE *fattente; @@ -166,7 +167,7 @@ void Admissions(candidat* tcandidat[],int tlogi) } else { - fwrite(fadmis,attente,sizeof(int),1); - fwrite(fattente,tabIDCandidatAttente,sizeof(int),attente); + fwrite(&attente,sizeof(int),1,fadmis); + fwrite(tabIDCandidatAttente,sizeof(int),attente,fattente); } } \ No newline at end of file diff --git a/src/partie3/saeP3.h b/src/partie3/saeP3.h index 834a338..916e938 100644 --- a/src/partie3/saeP3.h +++ b/src/partie3/saeP3.h @@ -1,5 +1,4 @@ -#include "../partie1/saeP1.h" void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]); -void RechercheVoeuIDInformatique(candidat candid); +int RechercheVoeuIDInformatique(candidat candid); void ShowCandid(candidat* tcandidat[],int tlogi); void Admissions(candidat* tcandidat[],int tlogi); diff --git a/src/partie4/saeP4.c b/src/partie4/saeP4.c index f67fd3b..d23a345 100644 --- a/src/partie4/saeP4.c +++ b/src/partie4/saeP4.c @@ -60,7 +60,7 @@ void Validation(candidat candid) { if (i==id_Choix&&candid.TabVoeu[i]->ddep==1) { - candid.TabVoeu[i]->vcand=1 + candid.TabVoeu[i]->vcand=1; } } } @@ -71,7 +71,7 @@ void Recherche_Dichotomique() } -void AffichageAdmisAlphabetique(candidat tCandidAdmis,int tlogi) +void AffichageAdmisAlphabetique(candidat* tCandidAdmis,int tlogi) { for(int i=0;i