|
|
@ -26,9 +26,9 @@ ListeAdmission insererEnTeteAdm(ListeAdmission la, Admission candidat)
|
|
|
|
ListeAdmission insererAdm(ListeAdmission la, Admission candidat)
|
|
|
|
ListeAdmission insererAdm(ListeAdmission la, Admission candidat)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(la == NULL)
|
|
|
|
if(la == NULL)
|
|
|
|
return insererEnTeteAdm(f, candidat);
|
|
|
|
return insererEnTeteAdm(la, candidat);
|
|
|
|
if(candidat.num < la->v.num)
|
|
|
|
if(candidat.num < la->v.num)
|
|
|
|
return insererEnTeteAdm(f, candidat);
|
|
|
|
return insererEnTeteAdm(la, candidat);
|
|
|
|
if(candidat.num > la->v.num)
|
|
|
|
if(candidat.num > la->v.num)
|
|
|
|
return la;
|
|
|
|
return la;
|
|
|
|
la->suiv = insererAdm(la->suiv, candidat);
|
|
|
|
la->suiv = insererAdm(la->suiv, candidat);
|
|
|
@ -57,7 +57,7 @@ ListeAdmission supprimerAdm(ListeAdmission la, Admission candidat)
|
|
|
|
return la;
|
|
|
|
return la;
|
|
|
|
if(candidat.num == la->v.num)
|
|
|
|
if(candidat.num == la->v.num)
|
|
|
|
return supprimerEnTeteAdm(la);
|
|
|
|
return supprimerEnTeteAdm(la);
|
|
|
|
la->suiv = supprimerAdm(la->suiv, candidat.num);
|
|
|
|
la->suiv = supprimerAdm(la->suiv, la->v);
|
|
|
|
return la;
|
|
|
|
return la;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -70,10 +70,10 @@ bool rechercherAdm(ListeAdmission la, Admission candidat)
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
if(candidat.num == la->v.num)
|
|
|
|
if(candidat.num == la->v.num)
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
return rechercherAdm(la->suiv, candidat.num);
|
|
|
|
return rechercherAdm(la->suiv, la->v);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int TeteAdm(ListeAdmission la)
|
|
|
|
Admission TeteAdm(ListeAdmission la)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(videAdm(la))
|
|
|
|
if(videAdm(la))
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -92,7 +92,7 @@ void afficherAdm(ListeAdmission la)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
while(!videAdm(la))
|
|
|
|
while(!videAdm(la))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
afficherCandidatsAdm(Tete(la));
|
|
|
|
afficherCandidatsAdm(TeteAdm(la));
|
|
|
|
la = la->suiv;
|
|
|
|
la = la->suiv;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
printf("\n");
|
|
|
|
printf("\n");
|
|
|
@ -101,7 +101,7 @@ void afficherAdm(ListeAdmission la)
|
|
|
|
int longueurAdm(ListeAdmission la)
|
|
|
|
int longueurAdm(ListeAdmission la)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int cpt = 0;
|
|
|
|
int cpt = 0;
|
|
|
|
while(!vide(la))
|
|
|
|
while(!videAdm(la))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
cpt++;
|
|
|
|
cpt++;
|
|
|
|
la = la->suiv;
|
|
|
|
la = la->suiv;
|
|
|
@ -111,8 +111,8 @@ int longueurAdm(ListeAdmission la)
|
|
|
|
|
|
|
|
|
|
|
|
void afficherCandidatsAdm(Admission candidat)
|
|
|
|
void afficherCandidatsAdm(Admission candidat)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", candidat.num, candidat.nom, candidat.prenom, candidat.noteMaths, candidat.noteFrançais, candidat.noteAnglais, candidat.noteSpe, candidat.nbChoix, candidat.ville);
|
|
|
|
printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", candidat.num, candidat.nom, candidat.prenom, candidat.tabMatiere[0], candidat.tabMatiere[1], candidat.tabMatiere[2], candidat.tabMatiere[3], candidat.nbChoix, candidat.ville);
|
|
|
|
afficherDpt(candidat.ListeDepartement);
|
|
|
|
afficherDpt(candidat.ldept);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ListeDepartement
|
|
|
|
// ListeDepartement
|
|
|
@ -138,13 +138,13 @@ ListeDepartement insererEnTeteDpt(ListeDepartement ld, Departement dpt)
|
|
|
|
return p;
|
|
|
|
return p;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ListeDepartement insererDpt(ListeDepartement ld, Departement dpt)
|
|
|
|
ListeDepartement insererDpt(ListeDepartement ld, char dpt)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(ld == NULL)
|
|
|
|
if(ld == NULL)
|
|
|
|
return insererEnTeteDpt(ld, dpt);
|
|
|
|
return insererEnTeteDpt(ld, dpt);
|
|
|
|
if(strcmp(dpt.departement, ld->v.departement) < 0)
|
|
|
|
if(strcmp(dpt, ld->v.departement) < 0)
|
|
|
|
return insererEnTeteDpt(ld, dpt);
|
|
|
|
return insererEnTeteDpt(ld, dpt);
|
|
|
|
if(strcmp(dpt.departement, ld->v.departement) = 0)
|
|
|
|
if(strcmp(dpt, ld->v.departement) = 0)
|
|
|
|
return ld;
|
|
|
|
return ld;
|
|
|
|
ld->suiv = insererDpt(ld->suiv, dpt);
|
|
|
|
ld->suiv = insererDpt(ld->suiv, dpt);
|
|
|
|
return ld;
|
|
|
|
return ld;
|
|
|
@ -164,30 +164,30 @@ ListeDepartement supprimerEnTeteDpt(ListeDepartement ld)
|
|
|
|
return ld;
|
|
|
|
return ld;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ListeDepartement supprimerDpt(ListeDepartement ld, Departement dpt)
|
|
|
|
ListeDepartement supprimerDpt(ListeDepartement ld, char dpt)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(videDpt(ld))
|
|
|
|
if(videDpt(ld))
|
|
|
|
return ld;
|
|
|
|
return ld;
|
|
|
|
if(strcmp(dpt.departement, ld->v.departement) < 0)
|
|
|
|
if(strcmp(dpt, ld->v.departement) < 0)
|
|
|
|
return ld;
|
|
|
|
return ld;
|
|
|
|
if(strcmp(dpt.departement, ld->v.departement) = 0)
|
|
|
|
if(strcmp(dpt, ld->v.departement) = 0)
|
|
|
|
return supprimerEnTeteDpt(ld);
|
|
|
|
return supprimerEnTeteDpt(ld);
|
|
|
|
ld->suiv = supprimerDpt(ld->suiv, dpt.departement);
|
|
|
|
ld->suiv = supprimerDpt(ld->suiv, dpt);
|
|
|
|
return ld;
|
|
|
|
return ld;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool rechercherDpt(ListeDepartement ld, Departement dpt)
|
|
|
|
bool rechercherDpt(ListeDepartement ld, char dpt)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(videDpt(ld))
|
|
|
|
if(videDpt(ld))
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
if(strcmp(dpt.departement, ld->v.departement) < 0)
|
|
|
|
if(strcmp(dpt, ld->v.departement) < 0)
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
if(strcmp(dpt.departement, ld->v.departement) = 0)
|
|
|
|
if(strcmp(dpt, ld->v.departement) = 0)
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
return rechercherDpt(ld->suiv, dpt.departement);
|
|
|
|
return rechercherDpt(ld->suiv, dpt);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int TeteDpt(ListeDepartement ld)
|
|
|
|
Departement TeteDpt(ListeDepartement ld)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(videDpt(ld))
|
|
|
|
if(videDpt(ld))
|
|
|
|
{
|
|
|
|
{
|
|
|
|