Bonjour,
j'ai écris un petit programme en C en suivant un tutoriel C. Mais j'ai un léger problème dans ce dernier concernant le test d'un caractère entré au clavier.

Voila ce que je souhaites faire :
  1. - Récupérer le caractère rentré.
  2. - Vérifier que le caractère est parmi ceux acceptés
  3. - Si non, alors on recommence.


Le code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
etat_saisie = nOK;
do {
     char saisie [20];
 
    printf("\n Voulez-vous rejouer ? (Oui (o) ou Non (n)) : ");
    fgets(saisie, sizeof saisie, stdin);
    ret = sscanf(saisie,"%c", &rejouer);
 
    if (ret != 1) {
       printf( "\n\t La valeur entree n'est pas une donne valide."
                "\n\t Veuillez recommencer.\n");
     }
     else if (rejouer  != 'o'){
        printf( "\n\t La lettre entree n'est pas valide. Seul"
                  "\n\t o (pour oui) et n (pour non) sont valides\n");
      }
      else {
                etat_saisie = OK;
      }
}
Sachant que etat_saisie est definit plus haut dans le fichier par un define (0 pour nOK et 1 pour OK).
'rejouer' est de type char.

Merci pour votre aide (ou pour tout autre commentaires sur le code).