bonjour a tous, je dois realiser un programme qui demande 2 float et un opérateur et qui effectue le calcul en fonction de l'opérateur choisi. Je l'ai fait mais mon probleme est qu'apres avoir compilé, quand je rentre un opérateur comme + il effectue tous les autres calcul comme si j'avais mis le - ou * ou / Pouvez vous regarder ce qui ne va pas?
#include <iostream>
using namespace std;
int main() { float x,y,r; char op;
cout<<"Entrez les valeurs de x et y dans l'operation x op y"<<endl; cin>>x>>y; cout<<"Entrez l'operateur desire dans l'operation x op y"<<endl; cin>>op;
//Résolution
if(op!='+' and op!='/' and op!='+' and op!='-' and op!='*') { cout<<"Erreur! Operateur incorrect!"<<endl; }
if(op=='+'); { r=x+y; cout<<"Le resultat est: "<<r<<endl;
}
if(op=='-'); { r=x-y; cout<<"Le resultat est: "<<r<<endl; } if(op=='*'); { r=x*y; cout<<"Le resultat est: "<<r<<endl; } if(op=='/'); { if(y!=0) { r=x/y; cout<<"Le resultat est: "<<r<<endl; } else { cout<<"Erreur: division par 0!"<<endl; }
Marsh Posté le 17-10-2011 à 21:33:57
bonjour a tous, je dois realiser un programme qui demande 2 float et un opérateur et qui effectue le calcul en fonction de l'opérateur choisi. Je l'ai fait mais mon probleme est qu'apres avoir compilé, quand je rentre un opérateur comme + il effectue tous les autres calcul comme si j'avais mis le - ou * ou /
Pouvez vous regarder ce qui ne va pas?
#include <iostream>
using namespace std;
int main()
{
float x,y,r;
char op;
cout<<"Entrez les valeurs de x et y dans l'operation x op y"<<endl;
cin>>x>>y;
cout<<"Entrez l'operateur desire dans l'operation x op y"<<endl;
cin>>op;
//Résolution
if(op!='+' and op!='/' and op!='+' and op!='-' and op!='*')
{
cout<<"Erreur! Operateur incorrect!"<<endl;
}
if(op=='+');
{
r=x+y;
cout<<"Le resultat est: "<<r<<endl;
}
if(op=='-');
{
r=x-y;
cout<<"Le resultat est: "<<r<<endl;
}
if(op=='*');
{
r=x*y;
cout<<"Le resultat est: "<<r<<endl;
}
if(op=='/');
{
if(y!=0)
{
r=x/y;
cout<<"Le resultat est: "<<r<<endl;
}
else
{
cout<<"Erreur: division par 0!"<<endl;
}
}
return 0;
}