diff --git a/src/II/deux.h b/src/II/deux.h index 5d23511..bb9cdc2 100644 --- a/src/II/deux.h +++ b/src/II/deux.h @@ -9,6 +9,8 @@ #define LEN_MAX 30 + +//STRUCTURES typedef struct { char ville[LEN_MAX], departement[LEN_MAX]; int decision, validation; @@ -26,19 +28,94 @@ typedef struct { typedef Candidat** ListeCandidats; +//FONCTIONS ET DOCUMENTATION + +/** + \brief Alloue de la memoire de la taille d'une structure Candidat avec un malloc + \return retourne l'adresse générée par le malloc +*/ Candidat* creerCandidat(void); + +/** + \brief Alloue de la memoire de la taille d'une structure Candidature avec un malloc avec les valeurs par défaut à 0 pour les variables décision & valisation + \return retourne l'adresse générée par le malloc +*/ Candidature* creerCandidature(void); -void ajouterCandidat(ListeCandidats* liste, int* nbCandidats, Candidat* candidat); +/** + \brief Ajoute l'adresse du candidat dans le tableau de pointeur "liste". + \param listePointer Adresse du tableau de pointeur sur la structure Candidat + \param nbCandidats Nombre de candidats dans le fichier texte candidats.don + \param candidat Candidat à ajouter +*/ +void ajouterCandidat(ListeCandidats* listePointer, int* nbCandidats, Candidat* candidat); + +/** + \brief Ajoute une candidature dans la liste des candidatures associées au candidat correspondant dans les paramètres de la fonction + \param candidat Candidat dont on veut ajouter une cadidature + \param candidature Candidature à ajouter +*/ void ajouterCandidature(Candidat* candidat, Candidature* candidature); + +/** + \brief Permet au candidat de déposer une candidature + \param tiut Tableau de pointeur sur la structure VilleIUT + \param nbVilles Pointeur sur le nombre de villes ayant un IUT + \param candidat Candidat qui veut déposer une candidature +*/ +void menuCandidat_candidater(VilleIUT** tiut, int nbVilles, Candidat* candidat); + +/** + \brief Verifie si la candidature à ajouter n'existe pas déjà + \param candidat Candidat dont on veut ajouter une cadidature + \param candidature Candidature à vérifier + \return Retourne -1 si la candidature existe déjà et 0 sinon +*/ int checkCandidature(Candidat* candidat, Candidature candid); + +/** + \brief Affiche tous les candidats triés par nom + \param liste Tableau de pointeur sur la structure Candidat + \param nbCandidats Nombre de candidats dans la liste des candidats +*/ void afficherListeCandidats(ListeCandidats liste, int nbCandidats); + +/** + \brief Affiche un candidat précis + \param candidat Candidat que l'utilisateur choisi d'afficher +*/ void afficherCandidat(Candidat* candidat); + +/** + \brief Affiche toutes les candidatures d'un seul candidat + \param candidatures Tableau de pointeur sur les candidatures d'un candidat + \param nbCandidatures Nombre de candidatures dans la liste des candidatures du candidat +*/ void afficherCandidatures(ListeCandidatures candidatures, int nbCandidatures); + +/** + \brief Lit la liste des candidats dans le fichier texte candidats.don puis les met dans la structure ListeCandidats + \param nbCandidats Nombre de candidats dans le fichier candidats.don + \return Renvoie la liste des candidats +*/ ListeCandidats readCandidats(int* nbCandidats); + +/** + \brief Enregistre la liste des candidats dans le fichier texte candidats.don + \param liste Tableau de pointeur sur la structure Candidat + \param nbCandidats Nombre de candidats dans la liste des candidats + \return Renvoie -1 si il y aeu un problème de lecture du fichier et 0 si la fonction a fonctionné +*/ int saveCandidats(ListeCandidats liste, int nbCandidats); +/** + \brief Compare deux candidats suivant l'ordre alphabetique + \param c1 Candidat 1 + \param c2 Candidat 2 + \return <0 si le candidat 1 est avant le candidat 2 dand l'ordre alphabetique, >0 si le candidat 2 est avant le candidat 1 dand l'ordre alphabetique et 0 si ils sont homonymes +*/ int compareCandidats(const void* c1, const void* c2); + void test2(void); \ No newline at end of file