Problème de lecture d’un caractère
Bonjour.
Voilà le code et le résultat que ça donne, vous allez comprendre le problème :
Code:
1 2 3 4 5 6 7 8 9 10 11
| void test()
{
char choix;
do
{
printf("Voulez vous changer ? <Y/N> ...: ");
scanf("%c",&choix);
if(choix!='y' && choix!='Y' && choix!='n' && choix!='N')
printf("Choix incorrecte !\n");
}while(choix!='y' && choix!='Y' && choix!='n' && choix!='N');
} |
http://img514.imageshack.us/img514/6258/78230724tb6.jpg
Code:
1 2 3 4 5 6 7
| void test()
{
char choix;
printf("Voulez vous changer ? <Y/N> ...: ");
scanf("%c",&choix);
printf("%c\n",choix);
} |
http://img174.imageshack.us/img174/816/18461836rr2.jpg
Voilà je crois que vous avez compris, je veux que lorsque l'utilisateur entre quelque chose qui n'est pas un caractère, s'affiche un seul message "Choix incorrecte !" et pas ce message répété le nombre de caractères du choix saisi.
Merci