You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
3.5 KiB

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
/* 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);