Programmation C

Fermé
audrey062006 - 1 oct. 2007 à 15:07
Chacual Messages postés 230 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 - 1 oct. 2007 à 15:16
Bonjour,
je débute en programmation C, je souhaiterais savoir
pourquoi lorsque je rentre ce programme je ne récupere pas la valeur entrée en console par l'utilisateur

int c;
printf("entrez un entier");
c=getchar();
//scanf("%c",&c);
if(c>=56 && c<=78){
puts("gagne");
printf("%d \n",c);
}
else{puts("perdu");
printf("%d\n",c);
}

system("PAUSE");
return 0;

à chaque fois la valeur est inférieure à celle entrée
on m'a dit que le fait de taperle caractere retour chariot apres avoir entré la valeur avait un impact mais je ne sais pas lequel ni comment y remédier
si je rentre 57 il me dit que j'ai entré 53
merci par avance de votre aide

1 réponse

Chacual Messages postés 230 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 150
1 oct. 2007 à 15:16
La fonction getchar() permet de lire 1 caractère.
Elle n'est donc pas adaptée à ton besoin qui est de lire un nombre entier.
Tu devrais mettre cette ligne en commentaire et reprendre celle avec le scanf.
Simplement comme tu ne veux pas lire un caractère mais un entier, tu dois mettre "%d" en paramètre.
0