Gros Commit pas propre; ajout P3 et fix de qql bug.

master
Jade VAN BRABANDT 3 years ago
parent ae7d9b8d7b
commit a159cd55f0

@ -10,6 +10,7 @@
void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[]) void menuUser(VilleIUT* lvIUT[],int tlogi, int CandidOpen, candidat* tcandidat[])
{ {
int quit=0; int quit=0;
int ck=0;
while(!quit) while(!quit)
{ {
printf("#--------------------------------------------------------------------#\n"); 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("9 : Revenir à l'écran de sélection du profil.\n\n");
printf("#--------------------------------------------------------------------#\n\n"); printf("#--------------------------------------------------------------------#\n\n");
printf("Choisissez l'action que vous voulez exécuter : "); while(!ck)
int act; {
scanf("%d",&act); printf("Choisissez l'action que vous voulez exécuter : ");
switch(act){ int act;
case 1: if(scanf("%d",&act)) ck=1;
SearchCityWithIUT(lvIUT,tlogi); }
reset(); switch(act){
break; case 1:
case 2: SearchCityWithIUT(lvIUT,tlogi);
DepEachIUT(lvIUT,tlogi); reset();
reset(); break;
break; case 2:
case 3: DepEachIUT(lvIUT,tlogi);
SearchPlaceFromDepInIUT(lvIUT,tlogi); reset();
reset(); break;
break; case 3:
case 4: SearchPlaceFromDepInIUT(lvIUT,tlogi);
SearchIUTFromDep(lvIUT,tlogi); reset();
reset(); break;
break; case 4:
case 5: SearchIUTFromDep(lvIUT,tlogi);
if(CandidOpen) reset();
{ break;
//candidater(......); case 5:
} if(CandidOpen)
reset(); {
break; //candidater(......);
case 9: }
quit=1; reset();
break;
case 9:
quit=1;
} }
} }
//Tmp
candidat* tmp = (candidat*) malloc (sizeof(candidat)); candidat* tmp = (candidat*) malloc (sizeof(candidat));
tcandidat[0]=tmp; tcandidat[0]=tmp;
} }
@ -146,6 +151,7 @@ void SearchIUTFromDep(VilleIUT* lvIUT[],int tlogi)
void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){
int quit=0; int quit=0;
int ck=0;
while(!quit){ while(!quit){
printf("#--------------------------------------------------------------------#\n"); printf("#--------------------------------------------------------------------#\n");
printf("| |\n"); printf("| |\n");
@ -162,9 +168,12 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){
printf("6 : Créer un IUT.\n"); printf("6 : Créer un IUT.\n");
printf("9 : Revenir à l'écran de sélection du profil.\n\n"); printf("9 : Revenir à l'écran de sélection du profil.\n\n");
printf("#--------------------------------------------------------------------#\n\n"); printf("#--------------------------------------------------------------------#\n\n");
printf("Choisissez l'action que vous voulez exécuter : "); while(!ck)
int act; {
scanf("%d",&act); printf("Choisissez l'action que vous voulez exécuter : ");
int act;
if(scanf("%d",&act)) ck=1;
}
switch(act){ switch(act){
case 1: case 1:
modifPlaces(tiut,*tlogi); modifPlaces(tiut,*tlogi);
@ -179,7 +188,16 @@ void menuAdmin(VilleIUT* tiut[],int *tlogi, int* CandidOpen){
reset(); reset();
break; break;
case 4: 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(); reset();
break; break;
case 5: case 5:

@ -16,20 +16,145 @@ void menuResponsable(VilleIUT* tiut[],int *tlogi,candidat* tcandidat[]){
printf("| |\n"); printf("| |\n");
printf("#--------------------------------------------------------------------#\n\n"); printf("#--------------------------------------------------------------------#\n\n");
printf("Codes correspondant aux différentes actions :\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("#--------------------------------------------------------------------#\n\n");
printf("Choisissez l'action que vous voulez exécuter : "); int ck=0;
int act; while(!ck)
scanf("%d",&act); {
printf("Choisissez l'action que vous voulez exécuter : ");
int act;
if(scanf("%d",&act)) ck=1;
}
switch(act){ switch(act){
case 1: case 1:
printf("Oui Oui"); ShowCandid(tcandidat,tlogi);
reset();
break;
case 2:
Admissions(tcandidat,tlogi);
reset(); reset();
break; break;
case 9: case 9:
quit=1; quit=1;
} }
} }
candidat* tmp = (candidat*) malloc (sizeof(candidat)); }
tcandidat[0]=tmp;
void RechercheVoeuIDInformatique(candidat candid)
{
int ID_found=0;
for(int i=0;i<candid.nbvoeu||!found;++i)
{
if(!strcmp(candidat.TabVoeu[i].dep,"Informatique")) ID_found=i;
}
return ID_found;
}
void ShowCandid(candidat* tcandidat[],int tlogi)
{
for(int i=0;i<tlogi;++i)
{
int voeuID;
if(voeuID=RechercheVoeuIDInformatique(*tcandidat[i]))
{
printf("Nom - Prenom : %s %s\n\
Note de mathématique : %f\n\
Note de français : %f\n\
Note d'anglais : %f\n\
Note de spécialité : %f\n\n",tcandidat[i].surname,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);
}
}
}
void Admissions(candidat* tcandidat[],int tlogi)
{
int ck=0;
//Coef Note
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);
}
//Note min
ck=0;
float minNote;
while (!ck)
{
printf("Merci de renseignez maintenant la note minimum des candidats acceptés.\n\n");
scanf("%f",minNote);
}
//Nb admissions max
int nbAdmisMax;
ck=0;
while (!ck)
{
printf("Veuillez maintenant rentrer le nombre d'admis maximum");
scanf("%d",nbAdmisMax);
}
//Calcul
float tabNoteAdmissions;
for(int i=0;i<tlogi;++i)
{
float NoteAdmissions=0;
NoteAddmissions+=tcandidat[i]->note[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<tlogi&&admis=<admissionsmax;++i)
{
if(tabNoteAdmissions[i]>=minNote)
int voeuID;
//Admis
if(admis<admissionsmax)
{
tabIDCandidatAdmis[admis]=tcandidat[i]->numcandid;
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);
} }
Loading…
Cancel
Save