Modification fonctionnement menus pour appréhender à 100% les erreurs de saisie

master
Alix JEUDI--LEMOINE 2 years ago
parent a4109bc065
commit cc2ef6e21d

@ -26,6 +26,7 @@ void titreMenuPrincipal(void) {
} }
void menuCandidat(VilleIUT** tiut, int* nbVilles) { void menuCandidat(VilleIUT** tiut, int* nbVilles) {
char poubelle; // Permet de stocker les caractères aspirés en trop sur stdin lors du choix dans le menu
int choix; // Contient le choix de l'utilisateur dans le menu int choix; // Contient le choix de l'utilisateur dans le menu
@ -78,7 +79,9 @@ void menuCandidat(VilleIUT** tiut, int* nbVilles) {
// TODO // TODO
break; break;
default: default:
fprintf(stderr, "\e[0;91mErreur : la valeur entrée est invalide, merci de réessayer.\n\n\e[0m"); // Permet d'aspirer les caractères en trop sur stdin (évite de répéter le message d'erreur X fois)
while ((poubelle = getchar()) != '\n' && poubelle != EOF);
fprintf(stderr, "\e[0;91mErreur : la valeur entrée est invalide, merci de réessayer.\n\e[0m");
break; break;
} }
@ -90,13 +93,16 @@ void menuCandidat(VilleIUT** tiut, int* nbVilles) {
printf("\t5 - Suivre sa candidature\n\n"); printf("\t5 - Suivre sa candidature\n\n");
printf("\t9 - Quitter\n"); printf("\t9 - Quitter\n");
printf("-----------------------------------------------------------------------\n"); printf("-----------------------------------------------------------------------\n");
scanf("%*c%d", &choix);
if(scanf("%d", &choix) == 0)
choix=0;
} }
printf("\nRetour au menu principal...\n"); printf("\nRetour au menu principal...\n");
} }
void menuResponsable(VilleIUT** tiut, int* nbVilles) { void menuResponsable(VilleIUT** tiut, int* nbVilles) {
char poubelle; // Permet de stocker les caractères aspirés en trop sur stdin lors du choix dans le menu
int choix; int choix;
printf("--------------------------------------------------------------------\n"); printf("--------------------------------------------------------------------\n");
@ -121,6 +127,8 @@ void menuResponsable(VilleIUT** tiut, int* nbVilles) {
// TODO // TODO
break; break;
default: default:
// Permet d'aspirer les caractères en trop sur stdin (évite de répéter le message d'erreur X fois)
while ((poubelle = getchar()) != '\n' && poubelle != EOF);
fprintf(stderr, "\e[0;91mErreur : la valeur entrée est invalide, merci de réessayer.\n\e[0m"); fprintf(stderr, "\e[0;91mErreur : la valeur entrée est invalide, merci de réessayer.\n\e[0m");
break; break;
} }
@ -130,13 +138,16 @@ void menuResponsable(VilleIUT** tiut, int* nbVilles) {
printf("\t2 - Traiter les candidatures\n\n"); printf("\t2 - Traiter les candidatures\n\n");
printf("\t9 - Quitter\n"); printf("\t9 - Quitter\n");
printf("---------------------------------------------------------------------\n"); printf("---------------------------------------------------------------------\n");
scanf("%*c%d", &choix);
if(scanf("%d", &choix) == 0)
choix=0;
} }
printf("\nRetour au menu principal...\n"); printf("\nRetour au menu principal...\n");
} }
void menuAdmin(VilleIUT** tiut, int* nbVilles) { void menuAdmin(VilleIUT** tiut, int* nbVilles) {
char poubelle; // Permet de stocker les caractères aspirés en trop sur stdin lors du choix dans le menu
int choix; // Contient le choix de l'utilisateur dans le menu int choix; // Contient le choix de l'utilisateur dans le menu
char pass[LEN_MAX]; char pass[LEN_MAX];
@ -285,7 +296,9 @@ void menuAdmin(VilleIUT** tiut, int* nbVilles) {
} }
break; break;
default: default:
fprintf(stderr, "\e[0;91mErreur : la valeur entrée est invalide, merci de réessayer.\n\n\e[0m"); // Permet d'aspirer les caractères en trop sur stdin (évite de répéter le message d'erreur X fois)
while ((poubelle = getchar()) != '\n' && poubelle != EOF);
fprintf(stderr, "\e[0;91mErreur : la valeur entrée est invalide, merci de réessayer.\n\e[0m");
break; break;
} }
@ -297,13 +310,16 @@ void menuAdmin(VilleIUT** tiut, int* nbVilles) {
printf("\t5 - Modifier le nom du responsable d'un département\n\n"); printf("\t5 - Modifier le nom du responsable d'un département\n\n");
printf("\t9 - Quitter\n"); printf("\t9 - Quitter\n");
printf("---------------------------------------------------------------------\n"); printf("---------------------------------------------------------------------\n");
scanf("%*c%d", &choix);
if(scanf("%d", &choix) == 0)
choix=0;
} }
printf("\nRetour au menu principal...\n"); printf("\nRetour au menu principal...\n");
} }
void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */) { void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */) {
char poubelle; // Permet de stocker les caractères aspirés en trop sur stdin lors du choix dans le menu
int choix; // Contient le choix de l'utilisateur dans le menu int choix; // Contient le choix de l'utilisateur dans le menu
int nbVilles = 0; int nbVilles = 0;
@ -364,6 +380,8 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
titreMenuPrincipal(); titreMenuPrincipal();
break; break;
default: default:
// Permet d'aspirer les caractères en trop sur stdin (évite de répéter le message d'erreur X fois)
while ((poubelle = getchar()) != '\n' && poubelle != EOF);
fprintf(stderr, "\e[0;91mErreur : la valeur entrée est invalide, merci de réessayer.\n\e[0m"); fprintf(stderr, "\e[0;91mErreur : la valeur entrée est invalide, merci de réessayer.\n\e[0m");
break; break;
} }
@ -376,7 +394,9 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
printf("\t3 - Responsable\n\n"); printf("\t3 - Responsable\n\n");
printf("\t9 - Quitter l'application\n"); printf("\t9 - Quitter l'application\n");
printf("--------------------------------------------\n"); printf("--------------------------------------------\n");
scanf("%*c%d", &choix);
if(scanf("%d", &choix) == 0)
choix=0;
} }
printf("\nFermeture de l'application...\n"); printf("\nFermeture de l'application...\n");

Loading…
Cancel
Save