Cita:
Iniciado por juantxo84 Gracias por la ayuda.
Porque no me sale la suma al final?
#include <iostream>
using namespace std;
int main() {
float firstnum; float seconnum;
string operation;
string plus;string minus;string mul; string div;
cout << "Introduce operacion ";
cin >> firstnum >> operation >> seconnum;
if (operation == "+"||"plus" ) {
plus = firstnum + seconnum;
cout << "The sum is: " << plus << endl;
}
}
El mejor consejo que te puedo dar visto tu nivel en C++ es que consigas con cierta urgencia un buen manual de C++ y aprendas al menos lo más básico, ya que la dirección que estás cogiendo ahora mismo te va a ocasionar más disgustos que otra cosa. Hazme caso.
PD1.: (no se por que te has emperrado en poner "plus" dentro del if). "plus" es un string y comparar un booleano con un string no parece una buena idea salvo que estés muy seguro de lo que estás haciendo, que no es tu caso.
PD2.: plus es de tipo string... y le estás asignando la suma de dos decimales... dado que la clase string no dispone de un método que permita convertir números a string lo que sucede es que su valor binario se está truncando a char y este es el valor que se inserta en el string... prueba a poner como sumandos 60 y 5... verás como te sale una 'A'.
--------------------------------
Editado: He visto que has escrito nueva respuesta paralela a la mía.
No te funciona por lo que te he comentado... te emperras en poner "plus" y "minus" dentro de los if y no entiendo el motivo... no es necesario.