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.

60 lines
2.2 KiB

typedef struct {
char ville[26];//ville choisie
char dptmt[26];//département choisi
int dec;//décision du choix
int valid;//validation du candidat
}Choix;
typedef struct Listchx{
Choix chx;
struct Listchx * suivchx;
}Maillonchx;
typedef Maillonchx * Listechx;
typedef struct {
int nEtu;//numéro d'étudiant
char nom[26];//nom de l'étudiant
char prenom[26];//prénom de l'étudiant
float moymat;//moyenne en maths
float moyfr;//moyenne en français
float moyen;//moyenne en anglais
float moyspe;//moyenne en spécialité
float noteDoss;//note après étude du dossier
int nbchx;//nombre de choix
Listechx lchx;
}Candidat;
typedef struct Mailloncand{
Candidat cand;
struct Mailloncand * suivcand;
}Mailloncand;
typedef Mailloncand * Listecand;
Choix lireC(FILE *fe);//fonction extraite de la partie 2
Listechx InsertTC(Listechx list, Choix m);//Insert en tête de la liste
Listechx InsertC(Listechx list, Choix m);//insert globalement dans liste de choix
Listecand InsertT(Listecand list, Candidat c);//Insert en tête de la liste
Listecand Insert(Listecand list, Candidat c);//insert globalement
Listecand InsertN(Listecand list, Candidat c);//insert globalement en fonction de la note
Listecand Chargementlistecandidat(FILE *fe, Listecand lC, int *nbC);// fonction de chargement de la liste des candidats
Listecand AcceptedOrWait(Listecand lC, int *nbC, float noteMin);
void Save(Listecand lC, int nbC);//fonction de sauvegarde globale
void saveC(Listecand lC, FILE *fs);//sauvegarde un candidat
void saveChx(Listechx lCh, FILE *fs);//sauvegarde tous les choix d'un candidat
void RespAdmin(void);//fonction dédiée au responsable d'admission
void AffC(Candidat c);
void AffCh(Choix c);
void AffListeCandidat (Listecand l);
void AffListChoix(Listechx l);
void MajDecJury(Listecand lC, int nbC, int nbAcc);//mise à jour de la décision du jury
Listecand searchCand(Listecand lC, char *nom, char *prenom);//recherche d'un candidat par son nom et prénom
Listecand MajNote(Listecand lC, char *nom, char *prénom, float newNote);//mise à jour de la note de dossier du candidat
Listecand splitAccepted(Listecand origin);//fonction qui retourne la liste des admis
Listecand splitWait(Listecand origin);//fonction qui retourne la liste d'attente