diff --git a/header/sae.h b/header/sae.h index 3dc44d1..4050379 100644 --- a/header/sae.h +++ b/header/sae.h @@ -47,6 +47,12 @@ typedef struct Les structures ------------------------------------------------------------------------ */ +// sae.c +void Globale(void); +void menuVisiteur(void); +int afficherMenuVisiteur(void); +int choixMenuVisiteur(void); + // listeDeparements.c ListeDept ajouterEnTete(ListeDept ldept, char nomDept[], char resp[], int nbP); ListeDept supprimerEnTete(ListeDept ldept); diff --git a/source/main.c b/source/main.c index 9966365..a85c696 100644 --- a/source/main.c +++ b/source/main.c @@ -3,6 +3,9 @@ int main(void) { + Globale(); + + /* ListeDept ldept; VilleIut iut; @@ -12,4 +15,5 @@ int main(void) iut.ldept = ajouterDept(iut.ldept, "Chimie", "Henri Laserre", 80); iut.ldept = ajouterDept(iut.ldept, "Chimie", "Henri Laserre", 80); afficherListe(iut.ldept); + */ } \ No newline at end of file diff --git a/source/sae.c b/source/sae.c index c34b1ae..dfa722c 100644 --- a/source/sae.c +++ b/source/sae.c @@ -16,7 +16,104 @@ void Globale(void) //Sauvegarde dans les fichiers } +/** + * @brief Cette fonction affiche le menu des options disponibles pour un visiteur + * et demande à l'utilisateur de faire son choix en appelant la fonction + * choixMenuVisiteur. Selon le choix de l'utilisateur, la fonction appelle la fonction correspondante + * ou met fin à l'exécution de la fonction. +*/ void menuVisiteur(void) { - return; + int choix; + int actif = 1; + + clean + + while(actif) + { + choix = choixMenuVisiteur(); + clean + switch(choix) + { + case 1: + printf("Affiche toutes les villes possedant des IUT (En attente de Jean)\n"); + break; + case 2: + printf("Affiche le nombre de place dans un departement (En attente de Guillaume)\n"); + break; + case 3 : + printf("Affiche les departements d'un IUT donne (En attente de Loris)\n"); + break; + case 4 : + printf("Affiche les IUT possedant un departement donne (En attente de Jean)\n"); + break; + case 5 : + printf("Fonction pour se connecter (En attente de Yanis)\n"); + break; + case 0 : + actif = 0; + break; + } + } +} + +/** + * @brief Affiche le menu des options disponibles pour un visiteur. + * + * Cette fonction affiche à l'écran un menu proposant plusieurs options + * pour un visiteur du site. Le menu est présenté sous la forme d'une liste + * numérotée, avec un numéro associé à chaque option. Le visiteur peut + * faire son choix en saisissant le numéro correspondant à l'option souhaitée. + * + * Voici les options proposées dans le menu : + * + * - Afficher toutes les villes possédant un IUT + * - Afficher le nombre de places dans un département donné + * - Afficher les départements d'un IUT donné + * - Afficher les IUT possédant un département donné + * - Se connecter + * - Quitter + * + * @return Le choix de l'utilisateur, sous forme d'un entier + */ +int afficherMenuVisiteur(void) { + int choix; + + printf("============================================================\n\t\t\tMENU VISITEUR\n============================================================\n\n"); + + printf("\t1. Afficher toutes les villes possedant un IUT\n"); + printf("\t2. Afficher le nombre de places dans un departement donne\n"); + printf("\t3. Afficher les departements d'un IUT donne\n"); + printf("\t4. Afficher les IUT possedant un departement donne\n"); + printf("\t5. Se connecter\n"); + printf("\t0. Quitter\n"); + printf("\nChoix : "); + + scanf("%d%*c", &choix); + return choix; +} +/** + * @brief Demande à l'utilisateur de faire un choix parmi les options du menu visiteur + * + * Cette fonction affiche le menu des options disponibles pour un visiteur + * et demande à l'utilisateur de faire son choix en saisissant un nombre compris + * entre 0 et 5. Si l'utilisateur saisit un nombre incorrect, il sera invité à + * resaisir son choix jusqu'à ce qu'il saisisse un nombre valide. + * + * @return int Le choix de l'utilisateur compris entre 0 et 5 + */ +int choixMenuVisiteur(void) +{ + int choix; + + choix = afficherMenuVisiteur(); + + while (choix < 0 || choix > 5) + { + clean + printf("\nChoix incorrect.\n\n"); + choix = afficherMenuVisiteur(); + } + + return choix; } \ No newline at end of file