Probleme en c
WRIDANIOS
Messages postés
24
Statut
Membre
-
Mahmah Messages postés 497 Statut Membre -
Mahmah Messages postés 497 Statut Membre -
Bonjour,
ce ci est un exemple de programme :
#include <stdio.h>
int main(void)
{
char ca;
do {
flushall();
ca=getchar();
if(ca!='a'); {
printf("erreur");
}
}while(ca!='a');
return 0;
}
l'affichage est le suivas lors du saisie un car != de 'a';
"erreurerreur"
.
j'explique :
le progame affiche le message "erreur" lors de la premiere saisie d'un caractaire != de 'a' puis il reboucle et affiche un 2eme message "erreur" sans attendre une saisie par le clavier ....
aucune idee pour quoi !!!!
a vous ! merci
ce ci est un exemple de programme :
#include <stdio.h>
int main(void)
{
char ca;
do {
flushall();
ca=getchar();
if(ca!='a'); {
printf("erreur");
}
}while(ca!='a');
return 0;
}
l'affichage est le suivas lors du saisie un car != de 'a';
"erreurerreur"
.
j'explique :
le progame affiche le message "erreur" lors de la premiere saisie d'un caractaire != de 'a' puis il reboucle et affiche un 2eme message "erreur" sans attendre une saisie par le clavier ....
aucune idee pour quoi !!!!
a vous ! merci
3 réponses
c t just une erreur de frappe
c justement le programe que j'ai dans le compilateur...
#include <stdio.h>
int main(void)
{
char ca;
do {
ca=getchar();
if(ca!='a') {
printf("erreur");
}
}while(ca!='a');
return 0;
}
c justement le programe que j'ai dans le compilateur...
#include <stdio.h>
int main(void)
{
char ca;
do {
ca=getchar();
if(ca!='a') {
printf("erreur");
}
}while(ca!='a');
return 0;
}
Peut-être que ton code prend le caractère "retour chariot" en compte, du coup, quand tu tapes "X" suivi de "Entrée", pour lui il y a deux caractères, donc il lit le X, affiche "erreur", re-rentre dans la boucle, lit le "retour chariot" et ré-affiche "erreur".
Mais ce n'est qu'une supposition.
Tapes "XX" pour voir s'il affiche trois fois "Erreur".
Mais ce n'est qu'une supposition.
Tapes "XX" pour voir s'il affiche trois fois "Erreur".
Bonjour,
Ce qu'il faut tout simplement c'est vider le buffer clavier.
Faq C sur Developpez.com : Vider le buffer clavier.
M.
Ce qu'il faut tout simplement c'est vider le buffer clavier.
Faq C sur Developpez.com : Vider le buffer clavier.
M.