|
|
|
@ -23,32 +23,172 @@ typedef struct {
|
|
|
|
|
ListeDept ldept;
|
|
|
|
|
} VilleIUT;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief propose à l'utilisateur de se connecter avec son id ou de créer son compte étudiant. Appelle la fonction créerCandidat si l'utilisateur veut s'enregistrer.
|
|
|
|
|
\param id Passage par adresse de la variable "id"
|
|
|
|
|
\param listePointer Tableau de pointeur sur la structure candidat
|
|
|
|
|
\param nbcandidat Pointeur sur le nombre de candidats dans le fichier candidat.don
|
|
|
|
|
*/
|
|
|
|
|
void identificationCandidat(int* id, ListeCandidats* listePointer, int* nbCandidats);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Affiche le titre "RECRUTEMENT IUT"
|
|
|
|
|
*/
|
|
|
|
|
void titreMenuPrincipal(void);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Affiche le menu des candidats et permet l'appel des fonctions suivant le choix de l'utilisateur
|
|
|
|
|
\param tiutPointer Adresse du tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param listePointer Tableau de pointeur sur la structure candidat
|
|
|
|
|
\param nbVilles Pointeur sur le nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
\param nbcandidat Pointeur sur le nombre de candidats dans le fichier candidat.don
|
|
|
|
|
*/
|
|
|
|
|
void menuCandidat(VilleIUT*** tiutPointer, ListeCandidats* listePointer, int* nbVilles, int* nbCandidats);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Affiche le menu des responsables et permet l'appel des fonctions suivant le choix de l'utilisateur
|
|
|
|
|
\param tiutPointer Adresse du tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param listePointer Tableau de pointeur sur la structure candidat
|
|
|
|
|
\param nbVilles Pointeur sur le nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
\param nbcandidat Pointeur sur le nombre de candidats dans le fichier candidat.don
|
|
|
|
|
*/
|
|
|
|
|
void menuResponsable(VilleIUT*** tiutPointer, ListeCandidats* listePointer, int* nbVilles, int* nbCandidats);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Affiche le menu des administrateurs et permet l'appel des fonctions suivant le choix de l'utilisateur
|
|
|
|
|
\param tiutPointer Adresse du tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param listePointer Tableau de pointeur sur la structure candidat
|
|
|
|
|
\param nbVilles Pointeur sur le nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
\param nbcandidat Pointeur sur le nombre de candidats dans le fichier candidat.don
|
|
|
|
|
*/
|
|
|
|
|
void menuAdmin(VilleIUT*** tiutPointer, ListeCandidats* listePointer, int* nbVilles, int* nbCandidats);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Affiche le menu principal et permet l'appel des menus candidats/administrateurs/responsables suivant le choix de l'utilisateur
|
|
|
|
|
*/
|
|
|
|
|
void menuPrincipal(void);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Alloue de la memoire de la taille d'une structure VilleIUT avec un malloc
|
|
|
|
|
\return retourne l'adresse générée par le malloc
|
|
|
|
|
*/
|
|
|
|
|
VilleIUT* creerVille(void);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief ajoute l'adresse d'une ville dans le tableau tiut contenue à l'adresse tiutPointer. On passe en paramètre tiutPointer parce que le realloc peut changer l'adresse mémoire du tableau
|
|
|
|
|
\param tiutPointer Adresse du tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param villes Nouvelle ville à ajouter dans le tableau tiut
|
|
|
|
|
\param nbVilles Pointeur sur le nombre de villes dans le fichier binaire villes.bin. On ajoute +1 à la variable.
|
|
|
|
|
*/
|
|
|
|
|
void ajouterVille(VilleIUT*** tiutPointer, VilleIUT* ville, int* nbVilles);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Fonction de recherche pour trouver la position de la ville recherchée
|
|
|
|
|
\param tiut Tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param nbVilles Nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
\param searchIUT Ville recherchée dans le tableau
|
|
|
|
|
\return La fonction retourne l'index de la ville recherchée dans le tablaeau
|
|
|
|
|
*/
|
|
|
|
|
int rechercherVille(VilleIUT** tiut, int nbVilles, char* searchIUT); // Retourne index de la ville
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Affiche la liste des villes ayant un IUT
|
|
|
|
|
\param tiut Tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param nbVilles Nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
*/
|
|
|
|
|
void afficherListeVilles(VilleIUT** tiut, int nbVilles);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Créer une liste vide
|
|
|
|
|
\return retourne une liste vide avec "NULL"
|
|
|
|
|
*/
|
|
|
|
|
ListeDept creerListeDepartement(void);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Affiche la liste des différents départements disponible dans une ville recherchée et le nombre de places dans la formation
|
|
|
|
|
\param tiut Tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param nbVilles Nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
\param searchIUT ville recherchée par l'utilisateur
|
|
|
|
|
\return 1 si l'affichage s'est bien déroulé et -1 si la ville recherchée n'existe pas
|
|
|
|
|
*/
|
|
|
|
|
int afficherListeDepartement(VilleIUT** tiut, int nbVilles, char* searchIUT);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Affiche la liste des IUT comprenant un département recherché par l'utilisateur
|
|
|
|
|
\param tiut Tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param nbVilles Nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
\param searchDept Département recherchée par l'utilisateur
|
|
|
|
|
*/
|
|
|
|
|
void afficherDepartement(VilleIUT** tiut, int nbVilles, char* searchDept);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Alloue de la memoire de la taille d'une structure MaillonDept avec un malloc
|
|
|
|
|
\param departement Nom du nouveau département à créer
|
|
|
|
|
\param nbP Nombre de place disponible dans le nouveau département à ajouter
|
|
|
|
|
\param responsable Nom du responsable pour le nouveau département
|
|
|
|
|
\return Retourne le nouveau département
|
|
|
|
|
*/
|
|
|
|
|
MaillonDept* creerDepartement(char* departement, int nbP, char* responsable);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Ajoute un département dans la liste des départements d'une ville
|
|
|
|
|
\param ldept Liste des département d'un IUT précis
|
|
|
|
|
\param dept Département à ajouter
|
|
|
|
|
\return Retourne la liste des département de la ville
|
|
|
|
|
*/
|
|
|
|
|
ListeDept ajouterDepartement(ListeDept ldept, MaillonDept* dept);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Supprime le département dans une ville choisi par l'utilisateur
|
|
|
|
|
\param ldept Liste des département d'un IUT précis
|
|
|
|
|
\param searchDept Département recherchée par l'utilisateur
|
|
|
|
|
\return Retourne la nouvelle liste des département pour la ville en question
|
|
|
|
|
*/
|
|
|
|
|
ListeDept supprimerDepartement(ListeDept ldept, char* searchDept);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Modifie le nombre de place d'une formation
|
|
|
|
|
\param tiut Tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param nbVilles Nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
\param searchDept Département recherchée par l'utilisateur
|
|
|
|
|
\param nb Nouveau nombre de places disponibles pour la formation
|
|
|
|
|
*/
|
|
|
|
|
void modifierNbPlaces(VilleIUT** tiut, int nbVilles, char* searchIUT, char* searchDept, int nb);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Modifie le nombre de place d'une formation
|
|
|
|
|
\param tiut Tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param nbVilles Nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
\param searchIUT ville recherchée par l'utilisateur
|
|
|
|
|
\param searchDept Département recherchée par l'utilisateur
|
|
|
|
|
\param nom Nouveau nom du responsable pour la formation choisie par l'utilisateur
|
|
|
|
|
*/
|
|
|
|
|
void modifierNomResponsable(VilleIUT** tiut, int nbVilles, char* searchIUT, char* searchDept, char* nom);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Enregistrer les modifications apportés aux structures de données dans le fichier binaire ville.bin
|
|
|
|
|
\param tiut Tableau de pointeur sur la structure VilleIUT
|
|
|
|
|
\param nbVilles Nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
*/
|
|
|
|
|
void saveVilles(VilleIUT* tiut[], int nbVilles);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Lit le fichier binaire ville.bin et retourne le tableau tiut avec les structures de données et les données du fichier dans ce tableau
|
|
|
|
|
\param nbVilles Nombre de villes dans le fichier binaire villes.bin
|
|
|
|
|
*/
|
|
|
|
|
VilleIUT** readVilles(int* nbVilles);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Modifie le nombre de place d'une formation
|
|
|
|
|
\return Retourne le status actuel de la phase de candidature
|
|
|
|
|
*/
|
|
|
|
|
int readStatus(void);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Enregistre sur le fichier texte status.don le status actuel de la phase de candidature (0 si la phase est arretée et 1 si elle est lancée)
|
|
|
|
|
\param status le status actuel de la phase de candidature
|
|
|
|
|
*/
|
|
|
|
|
void saveStatus(int status);
|
|
|
|
|
|
|
|
|
|
void test(void);
|