hola buenas quisiera que alguien me pudiera ayudar a terminar lo ultimo paso de mi calculadora, el problema esta en que te da tres opciones de las cuales la primera es acceder a la calculadora la segunda modificar las teclas de los operadores y la tercera salir. pues bien tengo el problema en la segunda opcion no soy capaz de modificar las teclas en los cases; me ha dicho que deberia poner un if del tipo if(tecla==) antes del switch, pero ni ide a ver si alguno me puede ayudar
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double argumento1,factorial, b,argumento2,resultado;
char operador;
char opsuma = '+';
char opresta = '-';
char opmultiplicacion = '*';
char opdivision = '/';
char opraices = 'r';
char oppotencias = '^';
char opfactorial = '!';
bool error=false;
int eleccion;
cout<<"CALCULADORA"<<endl;
cout<< "1.- Calculadora" <<endl;
cout<< "2.- Configuracion" <<endl;
cout<< "3.- Terminar" <<endl;
cin>> eleccion;
if (eleccion==1)
{
cout << " Introduce la expresion a evaluar: ";
cin >> argumento1;
while (argumento1!=0)
{
cin.get(operador);
while (operador!='\n')
{
switch (operador)
{
case '+': cin>> argumento2; resultado=argumento1+argumento2; break;
case '-': cin>> argumento2; resultado=argumento1-argumento2; break;
case '*': cin>> argumento2; resultado=argumento1*argumento2; break;
case '/': cin>> argumento2; if(argumento2==0){error=true;} else ;resultado=argumento1/argumento2; break;
case '^': cin>> argumento2; resultado=pow(argumento1,argumento2); break;
case 'r': if(argumento1<0) {error=true;} else resultado=sqrt(argumento1); break;
case '!': if(argumento1<0) {error=true;} else factorial=1;for (b=1 ; b<=argumento1 ; b++) factorial=b*factorial; resultado=factorial; break;
default: cout << "operador invalido" ; break;
}
argumento1=resultado;
cin.get(operador);
}
if (!error)cout << " -Resultado: " << resultado <<endl;
else cout << "imposible" <<endl;
error=false;
cin >> argumento1;
}
}
else if (eleccion==2)
{
cout << "Configuracion de simbolos: " << endl;
cout << "Suma: "; cin >> opsuma; if (opsuma=='\n') (opsuma='+');
cout << "Resta: "; cin >> opresta; if (opresta=='\n') (opresta='-');
cout << "Multiplicacion: " ; cin >> opmultiplicacion; if (opmultiplicacion=='\n') (opmultiplicacion='*');
cout << "Division: " ; cin >> opdivision; if (opdivision=='\n') (opdivision='/');
cout << "Raices: " ; cin >> opraices; if (opraices=='\n') (opraices='r');
cout << "Potencias: " ; cin >> oppotencias; if (oppotencias=='\n') (oppotencias='^');
cout << "Factorial: " ; cin >> opfactorial; if (opfactorial=='\n') (opfactorial='!');
}
else if (eleccion==3)
{
cout << "Programa finalizado." << endl;
}
return 0;
}