Bonsoir,
Par le biais d'un switch j'ai crée un menu dans un des cas on doit saisir un caractere, malgrès tout mes efforts j'ai un problème que je n'arrive pas à comprendre.
J'ai besoin de mettre deux scanf pour pouvoir saisir ce caractere sinon le programme continue sans me laisser la possibilité de saisir ce caractere.
Je n'arrive pas à voir d'ou vient le probleme... en temps normal un seul scanf est nécessaire...
Voici le code
Merci d'avance pour votre aide
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 #include <stdio.h> #include <string.h> main(){ char car; int j,fin=1,choix; /*Menu principal du programme*/ do{ printf("******************** M E N U - PRINCIPAL ********************\n"); printf("** 1. SAISIR UN NOMBRE ENTIER. **\n"); printf("** 2. SAISIR UN CARACTERE. **\n"); printf("** 3. QUITTER. **\n"); printf("**------------------ Faites votre choix -------------------**\n"); printf("*************************************************************\n"); scanf("%d",&choix); switch(choix){ case 1 : printf("Saisie d un entier\n"); printf ("Veuillez saisir un entier\n"); scanf("%d",&j); printf("L entier est : %d\n",j); break; case 2 : printf("Saisie d un caractere\n"); printf ("Veuillez saisir un caractere\n"); scanf("%c",&car); /****** PROBLEME ******/ //Deuxieme scanf necessaire sinon il ne me laisse pas saisir le caractere scanf("%c",&car); printf("Le caractere est : %c\n", car); break; case 3 : printf("Au revoir\n"); //La valeur de "fin" est bien modifiée ce qui permet de quitter le menu fin=0; break; default: printf("Erreur de saisie-->Choix non valide!\n\a"); } //Fin du switch } //Fin du do //Tant que l'on reste dans les choix possible while(fin!=0); }// Fin de la main![]()
Partager