#include #include #include #include /* Menus */ void choixMenu(void); void menuUtilisateur(void); void menuAdministrateur(void); /* Partie 3 */ /* V2 */ typedef struct { char departement[30]; int decisionAdmission; int decisionCandidat; } Departement; typedef struct maillonDepartement { Departement v; struct maillonDepartement *suiv; } MaillonDepartement, *ListeDepartement; typedef struct { int num; char nom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine char prenom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine int tabMatiere[4]; int nbChoix; char ville[30]; ListeDepartement ldept; } Admission; typedef struct maillonAdmission { Admission v; struct maillonAdmission *suiv; } MaillonAdmission, *ListeAdmission; Departement lireDpt(FILE *flot); void afficherDpt(Departement dpt); Admission lireCandidat(FILE *flot); void afficherCandidat(Admission candidat); ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30]); void sauvegarderCandidats(ListeAdmission lAdmission, char dptResAdmi[30]); void afficherCandidatsAdmis(ListeAdmission listeCandidats); void afficherCandidatsNonAdmis(ListeAdmission listeCandidats); void afficherCandidatsAttente(ListeAdmission listeCandidats); void afficherCandidatsDpt(ListeAdmission listeCandidats); ListeAdmission MoyenneCandidats(ListeAdmission listeCandidats); int modifNoteMinAdmis(); int modifNbAdmisMax(); /* V1 typedef struct { int num; char nom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine char prenom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine int noteMaths; int noteFrançais; int noteAnglais; int noteSpe; int nbChoix; char ville[30]; char departement1[20]; int decisionAdmission1; int decisionCandidat1; char departement2[20]; int decisionAdmission2; int decisionCandidat2; char departement3[20]; int decisionAdmission3; int decisionCandidat3; char departement4[20]; int decisionAdmission4; int decisionCandidat4; char departement5[20]; int decisionAdmission5; int decisionCandidat5; } Admission; // Utilisation d'une file car on a pas besoins de modifier les candidats, les mettre au milieu de la file, // on a juste besoin de les ajouter et de les supprimer, on cherche à les parcourir dans l'ordre d'arrivée // Pour mettre d'un coté les candidats traités et de l'autre les candidats non traités typedef struct maillonAdmission { Admission v; struct maillonAdmission *suiv; } MaillonAdmission, *FileAdmission; */ // Authentification int ConnexionUtilisateur(char *login, char *mdp); ListeUtilisateurs chargerUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs); Utilisateur lireUtilisateur(FILE *flot); void afficherUtilisateur(Utilisateur utilisateur); void afficherUtilisateurs(ListeUtilisateurs listeUtilisateurs); ListeUtilisateurs insererUtilisateur(ListeUtilisateurs listeUtilisateurs, Utilisateur utilisateur); ListeUtilisateurs supprimerUtilisateur(ListeUtilisateurs listeUtilisateurs, char *nomUtilisateur); int videUtilisateurs(ListeUtilisateurs listeUtilisateurs); void sauveUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs listeUtilisateurs); int rechercherUtilisateur(ListeUtilisateurs listeUtilisateurs, char *nomUtilisateur); int supprimerUtilisateur(ListeUtilisateurs listeUtilisateurs, char *nomUtilisateur); int menuUtilisateur(ListeUtilisateurs listeUtilisateurs); void global(void);