Bueno, la cosa es, estoy aprendiendo por mi cuenta c++ siguiendo un libro y en el final de uno de sus capitulos me ha mandado hacer una calculadora sencilla, la cosa es que yo he puesto un do-while para cuando el usuario ponga una letra o lo que no debe se repita el programa, pero este se me imprime en la consola infinitas veces sin llegar a parar. Y no veo donde esta el problema.
Como información adicional, estoy usando codeblocks y de compilador GNU GCC.
Código:
#include <iostream>
using namespace std;
bool repeat = false;
int main()
{
do {
double a, b, resultado;
char operacion;
cout << "Esta es una calculadora simple \n\n"
<< "Elige el calculo que quieras realizar a continuacion (ejemplo: 2 + 2): \n";
cin >> a >> operacion >> b;
switch (operacion){
case '+':
resultado = a + b;
cout << resultado;
repeat = false;
break;
case '-':
resultado = a - b;
cout << resultado;
repeat = false;
break;
case '*':
resultado = a * b;
cout << resultado;
repeat = false;
break;
case '/':
resultado = a / b;
cout << resultado;
repeat = false;
break;
default:
cout << "Operacion erronea, por favor, intentelo de nuevo.\n\n";
repeat = true;
break;
}
} while (repeat == true);
return 0;
}
A este paso no me extrañaría que sea alguna tontería que se me haya escapado.
Gracias por vuestro tiempo.