Título: PROBLEMA calculadora Publicado por: jorgerolli en 3 Diciembre 2011, 03:12 am 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; } |