Enunciado:
6.- Codifique un programa que se comporte como una calculadora simple que realice
operaciones hasta que el usuario introduzca el carácter ‘&’. Para ello deberá tener las
siguientes características:
- Solo efectuará operaciones con dos operandos.
- Operaciones permitidas: (+,-,*,/).
- Se trabajará con operandos enteros.- Pedirá en primer lugar la operación a
realizar, y a continuación los dos operandos.
- Si el operador no se corresponde con alguno de los indicados se emitirá un
mensaje de error.
Ejemplo:
Operación : *
Operando 1 : 13
Operando 2 : 10
Resultado : 130
Operación : u
ERROR!!!!
Operación : +
Operando 1 : 12
Operando 2 : 3
Resultado : 15
Operación : &
FIN DEL PROGRAMA.
Mi código:
Código: Seleccionar todo
#include <iostream>
using namespace std;
int main ()
{
int num1;
int num2;
int res;
char op;
cout << "Operacion: ";
cin.get(op);
//Debug
cout << op;
while ( !(op = '&' )) {
switch (op) {
case '+':
cout << "\nOperando 1: ";
cin >> num1;
cout << "\nOperando 2: ";
cin >> num2;
res = num1 + num2;
cout << "\nResultado: " << res;
break;
case '-':
cout << "\nOperando 1: ";
cin >> num1;
cout << "\nOperando 2: ";
cin >> num2;
res = num1 - num2;
cout << "\nResultado: " << res;
break;
case '*':
cout << "\nOperando 1: ";
cin >> num1;
cout << "\nOperando 2: ";
cin >> num2;
res = num1 * num2;
cout << "\nResultado: " << res;
break;
case '/':
cout << "\nOperando 1: ";
cin >> num1;
cout << "\nOperando 2: ";
cin >> num2;
res = num1 / num2;
cout << "\nResultado: " << res;
break;
default:
cout << "ERROR!!\n";
cout << "Operacion: ";
cin >> op;
}}
if (op = '&' )
{
cout << "FIN DEL PROGRAMA";
return 0;
}
return 0;
}
Cuál es mi sorpresa al ver que, sin tocar aparentemente nada, si introduzco como carácter "+" se convierte mágicamente en un "&" y acaba el programa 0o
Ahora mismo estoy cegado, alguien me echa una mano?