|
|
|
@ -30,7 +30,7 @@ Admission lireCandidat(FILE *flot, ListeAdmission la, char dptResAdmis[])
|
|
|
|
|
{
|
|
|
|
|
if(strcmp(la->v.ldept, dptResAdmi) == 0)
|
|
|
|
|
{
|
|
|
|
|
la->v.ldept = inserer(la->v, la->v.ldept);
|
|
|
|
|
la->v.ldept = insererDpt(la->v.ldept, la->v.ldept->v.departement);
|
|
|
|
|
}
|
|
|
|
|
ajouterDpt(la->v.ldept, lireDept(flot, la->v.ldept));
|
|
|
|
|
i++;
|
|
|
|
@ -62,17 +62,17 @@ ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30], ListeAd
|
|
|
|
|
printf("Erreur d'ouverture du fichier !\n");
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
la->v = lireCandidat(flot, la, dptResAdmi);
|
|
|
|
|
insererAdm(la, lireCandidat(flot, la, dptResAdmi));
|
|
|
|
|
while(!feof(flot))
|
|
|
|
|
{
|
|
|
|
|
listeCandidats = insererCand(listeCandidats, candidat);
|
|
|
|
|
candidat = lireCandidat(flot);
|
|
|
|
|
la = insererCand(la, la->v);
|
|
|
|
|
la->v = lireCandidat(flot, la, dptResAdmi);
|
|
|
|
|
}
|
|
|
|
|
fclose(flot);
|
|
|
|
|
return listeCandidats;
|
|
|
|
|
return la;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void sauvegarderCandidats(ListeAdmission listeCandidats, char dptResAdmi[30])
|
|
|
|
|
void sauvegarderCandidats(ListeAdmission la, char dptResAdmi[30])
|
|
|
|
|
{
|
|
|
|
|
FILE *flot;
|
|
|
|
|
flot=fopen("admissionInfo.txt", "w");
|
|
|
|
@ -81,74 +81,71 @@ void sauvegarderCandidats(ListeAdmission listeCandidats, char dptResAdmi[30])
|
|
|
|
|
printf("Erreur d'ouverture du fichier !\n");
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
while(! videCand(listeCandidats))
|
|
|
|
|
while(! videAdm(la))
|
|
|
|
|
{
|
|
|
|
|
fprintf(flot, "%d\n%s\n%s\n%d\t%d\t%d\t%d\n%d\n%s\n", listeCandidats->v.num, listeCandidats->v.nom, listeCandidats->v.prenom, listeCandidats->v.tabMatiere[0], listeCandidats->v.tabMatiere[1], listeCandidats->v.tabMatiere[2], listeCandidats->v.tabMatiere[3], listeCandidats->v.nbChoix, listeCandidats->v.ville);
|
|
|
|
|
while(! videDpt(listeCandidats->v.ldept))
|
|
|
|
|
fprintf(flot, "%d\n%s\n%s\n%d\t%d\t%d\t%d\n%d\n%s\n", la->v.num, la->v.nom, la->v.prenom, la->v.tabMatiere[0], la->v.tabMatiere[1], la->v.tabMatiere[2], la->v.tabMatiere[3], la->v.nbChoix, la->v.ville);
|
|
|
|
|
while(! videDpt(la->v.ldept))
|
|
|
|
|
{
|
|
|
|
|
fprintf(flot, "%s\n%d\n%d\n", listeCandidats->v.ldept->v.departement, listeCandidats->v.ldept->v.decisionAdmission, listeCandidats->v.ldept->v.decisionCandidat);
|
|
|
|
|
listeCandidats->v.ldept = listeCandidats->v.ldept->suiv;
|
|
|
|
|
fprintf(flot, "%s\n%d\n%d\n", la->v.ldept->v.departement, la->v.ldept->v.decisionAdmission, la->v.ldept->v.decisionCandidat);
|
|
|
|
|
la->v.ldept = la->v.ldept->suiv;
|
|
|
|
|
}
|
|
|
|
|
listeCandidats = listeCandidats->suiv;
|
|
|
|
|
la = la->suiv;
|
|
|
|
|
}
|
|
|
|
|
fclose(flot);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void afficherCandidatsAdmis(ListeAdmission listeCandidats)
|
|
|
|
|
void afficherCandidatsAdmis(ListeAdmission la)
|
|
|
|
|
{
|
|
|
|
|
while(! videCand(listeCandidats))
|
|
|
|
|
while(! videCand(la->v.ldept))
|
|
|
|
|
{
|
|
|
|
|
if(listeCandidats->v.admis == 1)
|
|
|
|
|
if(la->v.ldept->v.decisionAdmission == 1)
|
|
|
|
|
{
|
|
|
|
|
afficherCandidats(listeCandidats->v);
|
|
|
|
|
afficherCandidats(la);
|
|
|
|
|
}
|
|
|
|
|
listeCandidats = listeCandidats->suiv;
|
|
|
|
|
la->v.ldept = la->v.ldept->suiv;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void afficherCandidatsNonAdmis(ListeAdmission listeCandidats)
|
|
|
|
|
void afficherCandidatsNonAdmis(ListeAdmission la)
|
|
|
|
|
{
|
|
|
|
|
while(! videCand(listeCandidats))
|
|
|
|
|
while(! videCand(la->v.ldept))
|
|
|
|
|
{
|
|
|
|
|
if(listeCandidats->v.admis == 0)
|
|
|
|
|
if(la->v.ldept->v.decisionAdmission == 0)
|
|
|
|
|
{
|
|
|
|
|
afficherCandidats(listeCandidats->v);
|
|
|
|
|
afficherCandidats(la);
|
|
|
|
|
}
|
|
|
|
|
listeCandidats = listeCandidats->suiv;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void afficherCandidatsAttente(ListeAdmission listeCandidats)
|
|
|
|
|
void afficherCandidatsAttente(ListeAdmission la)
|
|
|
|
|
{
|
|
|
|
|
while(! videCand(listeCandidats))
|
|
|
|
|
while(! videCand(la->v.ldept))
|
|
|
|
|
{
|
|
|
|
|
if(listeCandidats->v.admis == 2)
|
|
|
|
|
if(la->v.ldept->v.decisionAdmission == 2)
|
|
|
|
|
{
|
|
|
|
|
afficherCandidats(listeCandidats->v);
|
|
|
|
|
afficherCandidats(la);
|
|
|
|
|
}
|
|
|
|
|
listeCandidats = listeCandidats->suiv;
|
|
|
|
|
la = la->suiv;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void afficherCandidatsDpt(ListeAdmission listeCandidats)
|
|
|
|
|
void afficherCandidatsDpt(ListeAdmission la)
|
|
|
|
|
{
|
|
|
|
|
while(! videCand(listeCandidats))
|
|
|
|
|
while(! videAdm(la->v.ldept))
|
|
|
|
|
{
|
|
|
|
|
afficherCandidats(listeCandidats->v);
|
|
|
|
|
listeCandidats = listeCandidats->suiv;
|
|
|
|
|
afficherCandidats(la);
|
|
|
|
|
la = la->suiv;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ListeAdmission MoyenneCandidats(ListeAdmission listeCandidats)
|
|
|
|
|
ListeAdmission MoyenneCandidats(ListeAdmission la)
|
|
|
|
|
{
|
|
|
|
|
ListeAdmission listeMoyenne = listeNouvCand();
|
|
|
|
|
while(! videCand(listeCandidats))
|
|
|
|
|
while(! videAdm(la))
|
|
|
|
|
{
|
|
|
|
|
listeCandidats->v.moyenne = (listeCandidats->v.noteMaths + listeCandidats->v.noteFrançais + listeCandidats->v.noteAnglais + listeCandidats->v.noteSpe) / 4;
|
|
|
|
|
listeMoyenne = insererCand(listeMoyenne, listeCandidats->v);
|
|
|
|
|
listeCandidats = listeCandidats->suiv;
|
|
|
|
|
la->v.tabMatiere[4] = (la->v.tabMatiere[0] + la->v.tabMatiere[1] + la->v.tabMatiere[2] + la->v.tabMatiere[3]) / 4;
|
|
|
|
|
la = la->suiv;
|
|
|
|
|
}
|
|
|
|
|
return listeMoyenne;
|
|
|
|
|
return la;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Comment definir la note sur 20 mise lors de l'etude du dossier ?
|
|
|
|
|