#include "SAE.h" /* // ListeAdmission ListeAdmission listenouvAdm(void) { ListeAdmission la; la = NULL; return la; } ListeAdmission insererEnTeteAdm(ListeAdmission la, Admission candidat) { MaillonAdmission *p; p = (MaillonAdmission *)malloc(sizeof(MaillonAdmission)); if(p == NULL) { printf("Opérations interdites !!!!\n"); exit(1); } p->v = candidat; p->suiv = la; return p; } ListeAdmission insererAdm(ListeAdmission la, Admission candidat) { if(la == NULL) return insererEnTeteAdm(f, candidat); if(candidat.num < la->v.num) return insererEnTeteAdm(f, candidat); if(candidat.num > la->v.num) return la; la->suiv = insererAdm(la->suiv, candidat); return la; } ListeAdmission supprimerEnTeteAdm(ListeAdmission la) { MaillonAdmission *aux; if(videAdm(la)) { printf("Opérations interdites !!!!\n"); exit(1); } aux = la la = la->suiv; free(aux); return la; } ListeAdmission supprimerAdm(ListeAdmission la, Admission candidat) { if(videAdm(la)) return la; if(candidat.num < la->v.num) return la; if(candidat.num == la->v.num) return supprimerEnTeteAdm(la); la->suiv = supprimerAdm(la->suiv, candidat.num); return la; } bool rechercherAdm(ListeAdmission la, Admission candidat) { if(videAdm(la)) return false; if(candidat.num < la->v.num) return false; if(candidat.num == la->v.num) return true; return rechercherAdm(la->suiv, candidat.num); } int TeteAdm(ListeAdmission la) { if(videAdm(la)) { printf("Opérations interdites !!!!\n"); exit(1); } return la->v; /* Retourne un candidat } bool videAdm(ListeAdmission la) { return la == NULL; } void afficherAdm(ListeAdmission la) { while(!videAdm(la)) { afficherCandidatsAdm(Tete(la)); la = la->suiv; } printf("\n"); } int longueurAdm(ListeAdmission la) { int cpt = 0; while(!vide(la)) { cpt++; la = la->suiv; } return cpt; } 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); afficherDpt(candidat.ListeDepartement); } // ListeDepartement ListeDepartement listenouvDpt(void) { ListeDepartement ld; ld = NULL; return ld; } ListeDepartement insererEnTeteDpt(ListeDepartement ld, Departement dpt) { MaillonDepartement *p; p = (MaillonDepartement *)malloc(sizeof(MaillonDepartement)); if(p == NULL) { printf("Opérations interdites !!!!\n"); exit(1); } p->v = dpt; p->suiv = ld; return p; } ListeDepartement insererDpt(ListeDepartement ld, Departement dpt) { if(ld == NULL) return insererEnTeteDpt(ld, dpt); if(strcmp(dpt.departement, ld->v.departement) < 0) return insererEnTeteDpt(ld, dpt); if(strcmp(dpt.departement, ld->v.departement) = 0) return ld; ld->suiv = insererDpt(ld->suiv, dpt); return ld; } ListeDepartement supprimerEnTeteDpt(ListeDepartement ld) { MaillonDepartement *aux; if(videDpt(ld)) { printf("Opérations interdites !!!!\n"); exit(1); } aux = ld; ld = ld->suiv; free(aux); return ld; } ListeDepartement supprimerDpt(ListeDepartement ld, Departement dpt) { if(videDpt(ld)) return ld; if(strcmp(dpt.departement, ld->v.departement) < 0) return ld; if(strcmp(dpt.departement, ld->v.departement) = 0) return supprimerEnTeteDpt(ld); ld->suiv = supprimerDpt(ld->suiv, dpt.departement); return ld; } bool rechercherDpt(ListeDepartement ld, Departement dpt) { if(videDpt(ld)) return false; if(strcmp(dpt.departement, ld->v.departement) < 0) return false; if(strcmp(dpt.departement, ld->v.departement) = 0) return true; return rechercherDpt(ld->suiv, dpt.departement); } int TeteDpt(ListeDepartement ld) { if(videDpt(ld)) { printf("Opérations interdites !!!!\n"); exit(1); } return ld->v; /* Retourne un département } bool videDpt(ListeDepartement ld) { return ld == NULL; } void afficherDpt(ListeDepartement ld) { while(!videDpt(ld)) { afficherDepartement(TeteDpt(ld)); ld = ld->suiv; } printf("\n"); } void afficherDepartement(Departement dpt) { printf("%s\t%d\t%d\t", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat); } int longueurDpt(ListeDepartement ld) { int cpt = 0; while(!videDpt(ld)) { cpt++; ld = ld->suiv; } return cpt; } */