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) {
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
@ -78,7 +79,9 @@ void menuCandidat(VilleIUT** tiut, int* nbVilles) {
// TODO
break;
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;
}
@ -90,13 +93,16 @@ void menuCandidat(VilleIUT** tiut, int* nbVilles) {
printf("\t5 - Suivre sa candidature\n\n");
printf("\t9 - Quitter\n");
printf("-----------------------------------------------------------------------\n");
scanf("%*c%d", &choix);
if(scanf("%d", &choix) == 0)
choix=0;
}
printf("\nRetour au menu principal...\n");
}
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;
printf("--------------------------------------------------------------------\n");
@ -121,6 +127,8 @@ void menuResponsable(VilleIUT** tiut, int* nbVilles) {
// TODO
break;
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");
break;
}
@ -130,13 +138,16 @@ void menuResponsable(VilleIUT** tiut, int* nbVilles) {
printf("\t2 - Traiter les candidatures\n\n");
printf("\t9 - Quitter\n");
printf("---------------------------------------------------------------------\n");
scanf("%*c%d", &choix);
if(scanf("%d", &choix) == 0)
choix=0;
}
printf("\nRetour au menu principal...\n");
}
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
char pass[LEN_MAX];
@ -285,7 +296,9 @@ void menuAdmin(VilleIUT** tiut, int* nbVilles) {
}
break;
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;
}
@ -297,13 +310,16 @@ void menuAdmin(VilleIUT** tiut, int* nbVilles) {
printf("\t5 - Modifier le nom du responsable d'un département\n\n");
printf("\t9 - Quitter\n");
printf("---------------------------------------------------------------------\n");
scanf("%*c%d", &choix);
if(scanf("%d", &choix) == 0)
choix=0;
}
printf("\nRetour au menu principal...\n");
}
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 nbVilles = 0;
@ -364,6 +380,8 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
titreMenuPrincipal();
break;
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");
break;
}
@ -376,7 +394,9 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
printf("\t3 - Responsable\n\n");
printf("\t9 - Quitter l'application\n");
printf("--------------------------------------------\n");
scanf("%*c%d", &choix);
if(scanf("%d", &choix) == 0)
choix=0;
}
printf("\nFermeture de l'application...\n");

Loading…
Cancel
Save