#include #include #include #include typedef struct { char dept[31]; int nbP; char respAd[31]; } Departement; typedef struct maillonDept { Departement d; struct maillonDept *suiv; } MaillonDept,*ListeDept; typedef struct { char nom[31]; ListeDept lDept; } VilleIUT; /* Fonctions de Chargement */ int chargement(VilleIUT *tiut[],int tMax); Departement lireDep(FILE *flot); void enregistrement(VilleIUT *tiut[], int tLog); /* Fonctions d'affichage */ void afficherPlace(Departement d); void afficherDep(Departement d); void afficherVille(VilleIUT v); void afficherTIUT(VilleIUT *tiut[], int tLog); void afficherVilleDep(VilleIUT v); void afficheDeptDesIUT(VilleIUT *tiut[], int tLog); /* Fonctions de Listes */ ListeDept listeDeptNouv(void); ListeDept insererEntete(ListeDept lDept,Departement d); ListeDept insererDept(ListeDept lDept, Departement d); ListeDept supprimerEntete(ListeDept lDept); ListeDept supprimerDept(ListeDept lDept, char *dep); bool vide(ListeDept lDept); int longueur(ListeDept lDept); /* Fonctions de département */ void creerDept(VilleIUT *tiut[],int tLog); void retirerDept(VilleIUT *tiut[], int tLog); /* Fonctions de gestion du tableau */ int insererVille(VilleIUT *tiut[], char nomV[], int *tLog, int tMax, int pos); int supprimerVille(VilleIUT *tiut[], char nomV[], int *tLog, int pos); /* Fonctions de recherche */ ListeDept rechercherDept(ListeDept lDept, char dept[], int *trouve); int rechercheIUT(VilleIUT *tiut[], int tLog, char ville[], int *trouve); /* Fonctions de mise à jour */ void miseAJourGlobale(VilleIUT *tiut[], int tLog); void miseAJourNomDept(Departement *d,ListeDept l); void miseAJourResp(Departement *d); void miseAJourPlaces(Departement *d); // ########################################################################################### // ########################################################################################### // ################################ Commun au 2 parties ###################################### // ########################################################################################### // ########################################################################################### int login(void); void menuAdmin(VilleIUT *tiut[], int *tLog, int tMax); void menuCandidat(VilleIUT *tiut[], int *tLog, int tMax,Candidat *tCand[],int tMaxC,int numC); void clearpage(void); void globale(void); // ########################################################################################### // ########################################################################################### // ################################ Partie II ################################################ // ########################################################################################### // ########################################################################################### typedef struct { char ville[31]; char dep[31]; int decisionResp; int decisionCand; } Choix; typedef struct { int numeroC; char nom[31]; char prenom[31]; float notes[4]; int nombreChoix; Choix **tChoix; } Candidat; /* Fonctions de Chargement et sauvegarde*/ Candidat ** chargementCandidats(int *tMax); Candidat * lireCandidat(FILE *flot); Choix * lireChoix(FILE *flot); void sauvegarder(Candidat *tCand[], int tMax); /* Fonctions d'affichage*/ void afficherCandidat(Candidat *c); void afficherChoix(Choix *c); void afficherCandChoix(Candidat *tCand[],int tMax); /* Fonctions de réallocation */ Candidat ** reallocationCand(Candidat *tCand[], int tMax); Choix ** reallocationChoix(Choix *tChoix[], int nbChoix); /* Fonctions de tri */ void triCandidats(Candidat *tCand[], int tMax); int plusGrandCand(Candidat *tCand[], int tMax); void echangerCand(Candidat *tCand[], int i, int j); void triChoix(Choix *tChoix[], int nombreChoix); int plusGrandChoix(Choix *tChoix[], int nombreChoix); void echangerChoix(Choix *tChoix[], int i, int j); /* Fonctions de recherche */ int rechercherChoix(Choix *tChoix[], int nombreChoix, char ville[], char dep[], int *trouve); int rechercherCandidat(Candidat *tCand[], int tMax, char nom[], char prenom[], int *trouve); /* Fonctions d'insertion/suppresion/maj*/ int insererChoix(Choix *tChoix[], int nombreChoix);