SAE.h
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "structures.h"
void global(void);
/* Menus */
void menu(VilleIUT *tiut[], int *nbIUT, Etudiant *tetud[], int *nbCandidats, bool *phaseCandidatures, bool *phaseTraitement, Etudiant *tetudAdmis[], int *nbEtudAdmis, Etudiant *tetudAttente[], int *nbEtudAttente);
void menuAdministrateur(VilleIUT *tiut[], int *nbIUT, Etudiant *tetud[], int *nbCandidats, bool *phaseCandidatures, bool *phaseTraitement);
void menuUtilisateur(VilleIUT *tiut[], int *nbIUT, Etudiant *tetud[], int *nbCandidats);
void menuCandidat(VilleIUT *tiut[], int *nbIUT, Etudiant *tetud[], int *nbCandidats);
void menuResponsable(Etudiant *tetud[], int nbCandidats, VilleIUT *tiut[], int *nbIUT, Etudiant *tetudAdmis[], int *nbEtudAdmis, Etudiant *tetudAttente[], int *nbEtudAttente);
void menuAffichage(Etudiant *tetudResp[], int nbCandidatsDept, int *nbCandidatsAdmis, int *nbCandidatsAttente);
void menuPostCandidat(Etudiant *tetud[], int *nbCandidats);
/* Partie 1 */
/* Fichier */
int chargementVillesIUT(VilleIUT *tiut[]);
int rechercheVille(VilleIUT *tiut[], int nbIUT, char val[], bool *trouve);
void sauvegardeVillesIUT(VilleIUT *tiut[], int nbIUT);
/* Utilisateur */
void affichageVillesIUT(VilleIUT *tiut[], int nbIUT);
void affichageDeptIUT(VilleIUT *tiut[], int nbIUT);
void affichageNbP(VilleIUT *tiut[], int nbIUT);
void affichageDeptParticulier(VilleIUT *tiut[], int nbIUT);
/* Administrateur */
void modificationNbPDept(VilleIUT *tiut[], int nbIUT);
void creationDept(VilleIUT *tiut[], int nbIUT);
int suppressionDept(VilleIUT *tiut[], int nbIUT);
void modificationRespDept(VilleIUT *tiut[], int nbIUT);
void lancerPhaseCandidature(bool *phaseCandidatures, bool *phaseTraitement);
void stopperPhaseCandidature(bool *phaseCandidatures, bool *phaseTraitement);
/* Partie 2 */
int rechercheCandidat(Etudiant *tetud[], int nbCandidats, int numRecherche, bool *trouve);
void afficherEtudiant(Etudiant mEtudiant);
void afficherCandidat(Etudiant *tetud[], int nbCandidats);
void afficherCandidats(Etudiant *tetud[], int nbCandidats);
int chargerCandidats(Etudiant *tetud[]);
void sauvegarderCandidats(Etudiant *tetud[], int nbCandidats, char nomFichier[]);
void sauvegarderChoix(ListeChoix lChoix, FILE *flot);
void modificationNbPDeptResp(VilleIUT *tiut[], int nbIUT, char respVille[30], char respDept[30]);
void afficherCandidatsAdmis(Etudiant *tetud[], int nbCandidats);
void afficherCandidatsRefuses(Etudiant *tetud[], int nbCandidats);
void afficherCandidatsAttente(Etudiant *tetud[], int nbCandidats);
Etudiant modifStatueCandidat(Etudiant *tetud[], int nbCandidats, float noteMin[], VilleIUT *tiut[], int nbIUT, char respVille[30], char respDept[30]);
void statueCandidat(Etudiant *tetud[], int nbCandidats, Etudiant *tetudAdmis[], Etudiant *tetudAttente[], int *nbEtudAdmis, int *nbEtudAttente);
int nbCandidatsAdmis(Etudiant *tetud[], int nbCandidats);
int nbCandidatsRefuses(Etudiant *tetud[], int nbCandidats);
int nbCandidatsAttente(Etudiant *tetud[], int nbCandidats);
float modifNoteMin(float noteMin[]);
void ajouterCandidature(Etudiant *tetud[], int nbCandidats, VilleIUT *tiut[], int nbVillesIUT);
void supprimerCandidature(Etudiant *tetud[], int nbCandidats);
int inscription(Etudiant *tetud[], int nbCandidats, VilleIUT *tiut[], int nbVillesIUT);
int plusPetit(Etudiant *tetudResp[], int nbCandResp);
void echanger(Etudiant *tetudResp[], int i, int j);
void triNote(Etudiant *tetudResp[], int nbCandResp);
void deptResp(VilleIUT *tiut[], int nbVilles, char respVille[], char respIUT[]);
int chargementRespDept(Etudiant *tetud[], int nbCand, char respVille[], char respIUT[], Etudiant *tetudResp[]);
void sauvegardeAdmis(Etudiant *tetudAdmis[], int nbEtudAdmis);
void sauvegardeAttente(Etudiant *tetudAttente[], int nbEtudAttente);
void sauvegardeTousCandidats(Etudiant *tetud[], int nbCandidats);
void libererEspaceCandidats(Etudiant *tetud[], int nbCandidats);
void libererEspaceIUT(VilleIUT *tiut[], int nbIUT);
lancerPhaseCandidature
void lancerPhaseCandidature(bool *phaseCandidature, bool *phaseTraitement)
Lance la phase de candidatures et arrête celle de traitement.
Definition: administrateur.c:124
modificationNbPDept
void modificationNbPDept(VilleIUT *tiut[], int nbIUT)
Permet de modifier le nombre de places dans un département.
Definition: administrateur.c:17
stopperPhaseCandidature
void stopperPhaseCandidature(bool *phaseCandidature, bool *phaseTraitement)
Lance la phase de traitement et arrête celle de candidature.
Definition: administrateur.c:145
creationDept
void creationDept(VilleIUT *tiut[], int nbIUT)
Permet de créer un département dans un IUT, et un IUT s'il n'existe pas.
Definition: administrateur.c:51
modificationRespDept
void modificationRespDept(VilleIUT *tiut[], int nbIUT)
Permet de modifier le responsable d'un département.
Definition: administrateur.c:88
affichageDeptIUT
void affichageDeptIUT(VilleIUT *tiut[], int nbIUT)
Affiche les départements de chaque IUT.
Definition: affichage.c:33
affichageNbP
void affichageNbP(VilleIUT *tiut[], int nbIUT)
Affiche le nombre de places dans chaque département.
Definition: affichage.c:50
afficherCandidatsRefuses
void afficherCandidatsRefuses(Etudiant *tetud[], int nbCandidats)
Affiche les candidats refusés.
Definition: affichage.c:174
affichageVillesIUT
void affichageVillesIUT(VilleIUT *tiut[], int nbIUT)
Affiche les villes contenant un IUT.
Definition: affichage.c:17
afficherCandidatsAdmis
void afficherCandidatsAdmis(Etudiant *tetud[], int nbCandidats)
Affiche les candidats admis.
Definition: affichage.c:154
afficherCandidats
void afficherCandidats(Etudiant *tetud[], int nbCandidats)
Affiche les informations de tous les candidats.
Definition: affichage.c:134
affichageDeptParticulier
void affichageDeptParticulier(VilleIUT *tiut[], int nbIUT)
Affiche un département particulier.
Definition: affichage.c:70
afficherCandidatsAttente
void afficherCandidatsAttente(Etudiant *tetud[], int nbCandidats)
Affiche les candidats sur liste d'attente.
Definition: affichage.c:194
afficherCandidat
void afficherCandidat(Etudiant *tetud[], int nbCandidats)
Affiche les informations d'un candidat particulier.
Definition: affichage.c:112
afficherEtudiant
void afficherEtudiant(Etudiant mEtudiant)
Affiche les informations d'un candidat.
Definition: affichage.c:98
inscription
int inscription(Etudiant *tetud[], int nbCandidats, VilleIUT *tiut[], int nbVillesIUT)
Permet à un utilisateur de s'inscrire en tant que candidat.
Definition: candidatures.c:67
ajouterCandidature
void ajouterCandidature(Etudiant *tetud[], int nbCandidats, VilleIUT *tiut[], int nbVillesIUT)
Ajoute une candidature à un candidat.
Definition: candidatures.c:20
chargerCandidats
int chargerCandidats(Etudiant *tetud[])
Charge le fichier des candidats dans un tableau de pointeurs et retourne le nombre de candidats.
Definition: chargement.c:73
chargementVillesIUT
int chargementVillesIUT(VilleIUT *tiut[])
Charge le fichier des IUT dans un tableau de pointeurs et retourne le nombre d'IUT.
Definition: chargement.c:17
menu
void menu(VilleIUT *tiut[], int *nbIUT, Etudiant *tetud[], int *nbCandidats, bool *phaseCandidatures, bool *phaseTraitement, Etudiant *tetudAdmis[], int *nbEtudAdmis, Etudiant *tetudAttente[], int *nbEtudAttente)
Fonction de sélection des menus.
Definition: menus.c:25
menuResponsable
void menuResponsable(Etudiant *tetud[], int nbCandidats, VilleIUT *tiut[], int *nbIUT, Etudiant *tetudAdmis[], int *nbEtudAdmis, Etudiant *tetudAttente[], int *nbEtudAttente)
Menu des responsables.
Definition: menus.c:254
menuAdministrateur
void menuAdministrateur(VilleIUT *tiut[], int *nbIUT, Etudiant *tetud[], int *nbCandidats, bool *phaseCandidatures, bool *phaseTraitement)
Menu des administrateurs.
Definition: menus.c:92
menuCandidat
void menuCandidat(VilleIUT *tiut[], int *nbIUT, Etudiant *tetud[], int *nbCandidats)
Menu des candidats.
Definition: menus.c:203
menuAffichage
void menuAffichage(Etudiant *tetudResp[], int nbEtudDept, int *nbEtudAdmis, int *nbEtudAttente)
Menu d'affichage des responsables.
Definition: menus.c:314
menuUtilisateur
void menuUtilisateur(VilleIUT *tiut[], int *nbIUT, Etudiant *tetud[], int *nbCandidats)
Menu des utilisateurs.
Definition: menus.c:156
rechercheVille
int rechercheVille(VilleIUT *tiut[], int nb, char val[], bool *trouve)
Retourne la position de l'IUT recherché et un booléen qui prend la valeur true si l'élément a été tro...
Definition: recherche.c:20
rechercheCandidat
int rechercheCandidat(Etudiant *tetud[], int nbCandidats, int numRecherche, bool *trouve)
Retourne la position du candidat recherché et un booléen qui prend la valeur true si l'élément a été ...
Definition: recherche.c:45
chargementRespDept
int chargementRespDept(Etudiant *tetud[], int nbCand, char respVille[], char respIUT[], Etudiant *tetudResp[])
Charge le tableau des candidats ayant candidatés dans le département du responsable.
Definition: responsable.c:50
nbCandidatsAdmis
int nbCandidatsAdmis(Etudiant *tetud[], int nbCandidats)
Retourne le nombre de candidats admis.
Definition: responsable.c:151
statueCandidat
void statueCandidat(Etudiant *tetud[], int nbCandidats, Etudiant *tetudAdmis[], Etudiant *tetudAttente[], int *nbEtudAdmis, int *nbEtudAttente)
Ajoute les candidats dans les tableaux des candidats admis et en attente.
Definition: responsable.c:125
modifStatueCandidat
Etudiant modifStatueCandidat(Etudiant *tetud[], int nbCandidats, float noteMin[], VilleIUT *tiut[], int nbIUT, char respVille[30], char respDept[30])
Modification du statut d'un candidat.
Definition: responsable.c:80
deptResp
void deptResp(VilleIUT *tiut[], int nbVilles, char respVille[], char respIUT[])
Renvoie par adresse le département et la ville du département duquel le responsable s'occupe.
Definition: responsable.c:19
plusPetit
int plusPetit(Etudiant *tetudResp[], int nbCandResp)
Retourne l'emplacement du plus petit élément dans un tableau.
Definition: responsable.c:305
nbCandidatsRefuses
int nbCandidatsRefuses(Etudiant *tetud[], int nbCandidats)
Retourne le nombre de candidats refusés.
Definition: responsable.c:172
echanger
void echanger(Etudiant *tetudResp[], int i, int j)
Permute deux cases d'un tableau.
Definition: responsable.c:289
modifNoteMin
float modifNoteMin(float noteMin[])
Retourne les notes minimales.
Definition: responsable.c:213
nbCandidatsAttente
int nbCandidatsAttente(Etudiant *tetud[], int nbCandidats)
Retourne le nombre de candidats en attente.
Definition: responsable.c:193
triNote
void triNote(Etudiant *tetudResp[], int nbCandResp)
Trie le tableau des candidats par moyenne.
Definition: responsable.c:270
modificationNbPDeptResp
void modificationNbPDeptResp(VilleIUT *tiut[], int nbIUT, char respVille[30], char respDept[30])
Modifie le nombre de places du département.
Definition: responsable.c:241
sauvegardeAdmis
void sauvegardeAdmis(Etudiant *tetudAdmis[], int nbEtudAdmis)
Sauvegarde le tableau des candidats admis.
Definition: sauvegarde.c:107
sauvegarderCandidats
void sauvegarderCandidats(Etudiant *tetud[], int nbCandidats, char nomFichier[])
Sauvegarde les tableaux des candidats dans leurs fichiers respectifs.
Definition: sauvegarde.c:50
sauvegardeVillesIUT
void sauvegardeVillesIUT(VilleIUT *tiut[], int nb)
Sauvegarde le tableau des IUT dans le fichier des IUT.
Definition: sauvegarde.c:17
sauvegardeTousCandidats
void sauvegardeTousCandidats(Etudiant *tetud[], int nbCandidats)
Sauvegarde tous les candidats.
Definition: sauvegarde.c:96
sauvegardeAttente
void sauvegardeAttente(Etudiant *tetudAttente[], int nbEtudAttente)
Sauvegarde le tableau des candidats en attente.
Definition: sauvegarde.c:119
libererEspaceIUT
void libererEspaceIUT(VilleIUT *tiut[], int nbIUT)
Libère l'espace alloué au tableau des IUT.
Definition: sauvegarde.c:144
sauvegarderChoix
void sauvegarderChoix(ListeChoix lChoix, FILE *file)
Sauvegarde les choix d'un candidat.
Definition: sauvegarde.c:80
libererEspaceCandidats
void libererEspaceCandidats(Etudiant *tetud[], int nbCandidats)
Libère l'espace alloué au tableau des candidats.
Definition: sauvegarde.c:130
Etudiant
Structure d'un candidat.
Definition: structures.h:66
VilleIUT
Structure d'une ville possédant un IUT.
Definition: structures.h:30
maillonChoix
Maillon d'une liste de choix.
Definition: structures.h:55
structures.h
Fichier qui contient toutes les définitions de structures ainsi que les prototypes des fonctions rela...
supprimerCandidature
void supprimerCandidature(Etudiant *tetud[], int nbCandidats)
Supprime un choix d'un candidat.
Definition: suppression.c:16
suppressionDept
int suppressionDept(VilleIUT *tiut[], int nbIUT)
Permet de supprimer un département, et un IUT s'il n'a plus aucun département.
Definition: suppression.c:52