Bonjour,
Voici mon programme :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include <stdio.h> int main() { float num1, num2; char op; printf("Entrer un nombre : "); scanf("%f", &num1); getchar(); printf("Entrer un opérateur : "); if(scanf("%[+-*/=]", &op) != 1) { printf("Erreur - les opérateur valide sont + - * / =\n"); printf("Veillez saisir un opérateur valide : "); scanf("%[+-*/=]", &op); getchar(); } printf("Entre un nombre : "); scanf("%f", &num2); getchar(); }
Mon problème est que je n'arrive pas a corriger l'erreur suivante :
- le premier scanf se fait bien
- le 2eme aussi MAIS quand on entre autre chose que les op autorisé + - * / = le programme demande de réentrer un op valide. Et c'est ici que l'erreur survient. Voici ce que ca m'affiche :
Ca me met directement l'autre nombre alors que ca devrait me demander l'op.Code:
1
2
3
4
5 Entrer un nombre : 1 Entrer un opérateur : 1 Erreur - les opérateur valide sont + - * / = Veillez saisir un opérateur valide : Entre un nombre :
Quelqu'un sait d'ou provient l'erreur ?!