Lorsque tu tapes au clavier, tu alimentes le flux d'entrée standard : stdin.
C'est un buffer, c'est-à-dire que ça stocke tant que l'on ne lit pas dedans.
Si tu ne vides pas ce buffer avant ta ligne "reponse=getchar();", le programme n'attendra pas que l'utilisateur entre quoi que ce soit puisqu'il y a encore quelque chose à lire dans stdin.
Donc, il faut vider ce buffer avant de demander à l'utilisateur d'entrer son choix au menu. D'où le petit code que je t'ai mis, qui lit tous les caractères de stdin avant de rendre la main (tu peux remplacer "fgetc(stdin)" par "getchar()" si tu veux, ça fait la même chose).
Pour plus d'information : man fgetc (en ligne de commande sur unix, ou sur google si tu ne bosses pas sur un unix)
Message édité par Elmoricq le 18-01-2008 à 11:57:25