Probleme en c
Fermé
WRIDANIOS
Messages postés
24
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
11 mai 2009
-
8 avril 2008 à 16:23
Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 - 8 avril 2008 à 19:23
Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 - 8 avril 2008 à 19:23
3 réponses
Laaris
Messages postés
130
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
17 juin 2011
73
8 avril 2008 à 16:34
8 avril 2008 à 16:34
il y a un point virgule en trop après le if mais je ne sais pas si le problème vient de là
WRIDANIOS
Messages postés
24
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
11 mai 2009
1
8 avril 2008 à 16:41
8 avril 2008 à 16:41
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;
}
Laaris
Messages postés
130
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
17 juin 2011
73
8 avril 2008 à 16:47
8 avril 2008 à 16:47
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".
WRIDANIOS
Messages postés
24
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
11 mai 2009
1
>
Laaris
Messages postés
130
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
17 juin 2011
8 avril 2008 à 16:56
8 avril 2008 à 16:56
oui , ça ce passe,
comment faire donc ? merci !!
comment faire donc ? merci !!
Laaris
Messages postés
130
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
17 juin 2011
73
>
WRIDANIOS
Messages postés
24
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
11 mai 2009
8 avril 2008 à 17:00
8 avril 2008 à 17:00
Essaye de remplacer le getchar par un scanf mais je ne garantis pas le résultat, ça fera peut-être pareil.
WRIDANIOS
Messages postés
24
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
11 mai 2009
1
>
Laaris
Messages postés
130
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
17 juin 2011
8 avril 2008 à 17:09
8 avril 2008 à 17:09
c'est pareil, bon,
j'ai une solution, c'est de vider la memoir tampon avant de la saisie d'un caractaire ,
j'ai essayer d'utiliser "flushall()" avant scanf("%c",&ca) mais sa ve pas fonctionner , il maffiche l'erreur
tst3.c:9: warning: implicit declaration of function ‘flushall’
j'ai une solution, c'est de vider la memoir tampon avant de la saisie d'un caractaire ,
j'ai essayer d'utiliser "flushall()" avant scanf("%c",&ca) mais sa ve pas fonctionner , il maffiche l'erreur
tst3.c:9: warning: implicit declaration of function ‘flushall’
Laaris
Messages postés
130
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
17 juin 2011
73
>
WRIDANIOS
Messages postés
24
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
11 mai 2009
8 avril 2008 à 17:14
8 avril 2008 à 17:14
Charge la bibliothèque conio.h et essaye avec getch (à la place de getchar ou scanf) normalement ça marche parce que tu n'as pas à faire "entrée" pour que ton caractère soit lu.
Mahmah
Messages postés
496
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
22 juin 2010
125
8 avril 2008 à 19:23
8 avril 2008 à 19:23
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.