• # Alors...

    Posté par . En réponse au message scanf et itération. Évalué à 3.

    Il est fortement recommandé de ne pas utiliser les fonctions *scanf. Il vaut mieux utiliser les fonctions type getchar() (me rappelle plus précisément les fonctions, mais google est ton ami...).

    Tapes "problèmes dus à l'utilisation de scanf" dans google, et va voir le premier résultat... Allez, j'suis d'une humeur débonnaire aujourd'hui : http://www.usenet-fr.news.eu.org/fur/comp/lang/faq-c-2.html(...)

    Je te laisse chercher "scanf" dans la page ;-)

    Le problème dans ton cas : tu tapes ta lettre, a en l'occurence, puis entrée derrière pour valider ta saisie.
    Ta lecture d'un %c ne va lire qu'un caractère. Il reste donc dans le buffer d'entrée ton caractère \n, du à la touche entrée. Le code ascii correspondant est... au hasard, 10 ;-).
    Il faut donc soit que tu flushes (vide, mais flush sera bien plus utile sur google) le buffer d'entrée, soit que tu lises "%c\n".

    Pour convertir 'a' => 0, 'b' => 1, ..., tu fais un tolower(coup_joue) pour le forcer en minuscules, des fois que le gars tapes 'A', et tu lui soustrait 'a'.

    int coup_reel;
    coup_reel=tolower(coup_joue)-'a';

    Good luck