Bonjour,

Je suis débutant. J'ai 50 minutes de cours à mon actif.

J'aimerai que tant que les commandes proposées n'aient pas été tapées, que l'utilisateur ne sorte pas de la boucle. Ça marche, mais aussi avec 1,2 et 3. Or, ce sont les seuls choix proposés, qui devraient permettre une sortie de la boucle, justement. L'utilisateur devrait donc sortir de cette boucle, mais non... Comment faire ?

Alors voilà mon code :

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <stdlib.h>
 
int main ()
 
{
int boucle = 0;
int choixMenu;
int nombreA=0;
int nombreA1=0;
int soustraire1=0;
int soustraire2=0;
int mul1=0;
int mul2=0;
 
 
//À ce niveau-là
do
{
printf ("=== Calculatrice ===\n\n");
printf ("1. Addition.\n");
printf ("2. Soustraction.\n");
printf ("3. Multiplication.\n\n");
printf ("Quel est votre choix ? --> : ");
scanf ("%d", &choixMenu);
if (choixMenu != 1||2||3)
printf ("Entrée invalide. Recommencez.\n\n");
} while (choixMenu !=1||2||3);
 
 
 
 
 
 
switch (choixMenu)
{
case 1:
	printf ("Nombre à additionner : ");
	scanf ("%d", &nombreA);
	printf ("+ : ");
	scanf ("%d", &nombreA1);
	printf ("Le résultat de l'addition est : %d\n", nombreA+nombreA1);
        break;
case 2:
printf ("Nombre à soustraire : ");
scanf ("%d", &soustraire1);
printf ("- : ");
scanf ("%d", &soustraire2);
getchar ();
printf ("Le résultat de la soustraire est : %d\n", soustraire1-soustraire2);
break;
case 3:
printf ("N : ");
scanf ("%d", &mul1);
printf ("Par : ");
scanf ("%d", &mul2);
printf ("Le résultat de la multiplication est : %d\n\n", mul1*mul2);
break;  
default:
printf ("(1, 2 et 3).\n");
 
 
}
return 0;
 
}
Merci de votre aide !