missdream a écrit:- Code: Tout sélectionner
double val;
[...]
if (val=a+b)
cout<<"a+b="<<val<<endl;
else if (val=a-b)
cout<<"a-b="<<val<<endl;
else if (val=a*b)
cout<<"a*b="<<val<<endl;
else if (val=a/b)
cout<<"a/b="<<val<<endl;
Il y a plusieurs erreurs :
1) Tu as fait des assignations au lieu de tests d'égalité dans tes if (val=a+b au lieu de val == a + b), du coup quand tu lances le programme, l'ordinateur arrive au premier if, calcule a + b, attribue le résultat à val, si tout c'est bien passé le résultat du « test » est OK, donc il exécute la ligne suivante « cout<<"a+b="<<val<<endl; » puis on sort du if et le reste du programme n'est jamais lu.
2) val n'est pas initialisé, comment pourrait-il être égal à quoi que ce soit ?
3) pour connaître l'opération à faire, il faut lire l'opération à faire qu'on a donnée en entrée, là tu lis seulement a et b (et si j'ai bien compris, tu vas te retrouver avec par exemple a == + et b == 2 si tu entres + 2 3).