Programmation C

[Fermé]
Signaler
-
Messages postés
230
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
15 octobre 2007
-
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

Messages postés
230
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
15 octobre 2007
148
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.