Programmation en C - C - Programmation
Marsh Posté le 15-12-2013 à 22:12:46
joko7 a écrit : Bonjour, je suis étudiant en automation et je dois réaliser un programme "devinette" que je n'arrive pas à terminer,... Si quelqu'un pouvait m'aider ce serait gentil car je ne vois pas ou se trouve mon (mes erreurs) ! Voici l'énoncé et ma resolution : |
Bonjour,
Le problème vient du fait que l'utilisateur saisit sa réponse puis appuie sur entrée : le premier scanf prend la réponse et le second scanf prend l'appuie sur la touche entrée.
Pour résoudre cela, une façon de faire est d'effacer le buffer d'input avec
Code :
|
Plus d'information : http://stackoverflow.com/questions [...] uffer-in-c (l'usage de scanf est également déconseillé : http://c-faq.com/stdio/scanfprobs.html)
Par exemple :
Code :
|
Marsh Posté le 15-12-2013 à 22:47:58
Parfait, merci beaucoup ! Bonne soirée et merci d'avoir pris le temps de répondre
Marsh Posté le 16-12-2013 à 19:36:37
honrisse a écrit : Pour résoudre cela, une façon de faire est d'effacer le buffer d'input avec
|
Non, c'est justement ce qu'il ne faut pas faire, le comportement de fflush avec stdin n'étant pas défini de manière standard.
ou
devrait faire l'affaire.
A+,
Marsh Posté le 15-12-2013 à 21:50:09
Bonjour, je suis étudiant en automation et je dois réaliser un programme "devinette" que je n'arrive pas à terminer,... Si quelqu'un pouvait m'aider ce serait gentil car je ne vois pas ou se trouve mon (mes erreurs) ! Voici l'énoncé et ma resolution :
Réalisez un programme qui demande à l’utilisateur de choisir un nombre compris entre 1 et
8, puis qui parvient à déduire ce nombre à l’aide de trois questions posées à l’utilisateur (la
réponse est soit 'o' pour oui, soit 'n' pour non).
Voici un exemple d’exécution :
Choisissez un nombre entre 1 et 8
Appuyez sur une touche pour continuer...
Ce nombre est-il supérieur ou égal à 5 ? (o/n) n
Ce nombre est-il supérieur ou égal à 3 ? (o/n) o
Ce nombre est-il 3 ? (o/n) n
C’est le nombre 4
Et voici ma resolution :
Voila, merci pour votre aide, j'ai réalisé des programmes bien plus difficiles que celui ci mais pourtant je n'arrive pas à trouver mon erreur ! Merci beaucoup pour votre aide, bonne soirée
Message édité par gilou le 15-12-2013 à 22:08:03