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[])
{
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:

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