Probleme en c
WRIDANIOS
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
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.