Bonjour,

Voici mon programme :
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
 
#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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Ca me met directement l'autre nombre alors que ca devrait me demander l'op.

Quelqu'un sait d'ou provient l'erreur ?!