|
|
@ -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);
|
|
|
|
}
|
|
|
|
}
|