Mon "While" fausse le résultat de mon calcul

Résolu/Fermé
JLesage Messages postés 33 Date d'inscription mercredi 14 novembre 2012 Statut Membre Dernière intervention 23 février 2024 - Modifié le 4 mars 2020 à 23:04
JLesage Messages postés 33 Date d'inscription mercredi 14 novembre 2012 Statut Membre Dernière intervention 23 février 2024 - 10 janv. 2021 à 11:46
Bonjour! Je suis nouveau dans C++, j'essaie de faire une calculatrice, mais le résultat est faussé quand j'utilise une boucle "While" pour vérifier si l'utilisateur saisit le bon opérateur. Aidez-moi, s'il vous plait!

#include <iostream>

using namespace std;

int main()
{
    double x, y;
    double total = 0;
    char op;
    cout<<"Enter your first number: ";
    cin>>x;
    cout<<"Enter your second number: ";
    cin>>y;
    cout<<"Enter an operator: ";
    cin>>op;
    
    switch(op){
        
        case '+':
            total = x+y;
            break;
            
        case '-':
            total = x-y;
            break;
            
        case '*':
            total = x*y;
            break;
    }
    
    while((op != '+') || (op != '-') || (op != '*')){
        cout<<"Bad operator. Enter en operator: "<<endl;
        cin>>choix;
    }
    
    cout<<"Total:"<<total<<endl;
    return 0;
}


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
5 mars 2020 à 08:46
bonjour, je suggère, dans le message en ligne 33, d'afficher également l'opérateur.
1
J'ai corrigé l'erreur. Il fallait mettre "&&" à la place des "| |" puis placer la boucle "While" avant le switch. J'avais fait une erreur aussi à la ligne 33 comme quelqu'un l'a mentionné; j'avais changé le nom des variables et j'avais oublié de la corriger à la ligne 33. Merci beaucoup les gars.
1
JLesage Messages postés 33 Date d'inscription mercredi 14 novembre 2012 Statut Membre Dernière intervention 23 février 2024 5
10 janv. 2021 à 11:46
Merci à tous pour vos réponses.
0