Mira, el codigo que posteaste anda bien, pero mientras le pases un solo caracter sea letra o numero, si le pasas un numero de un digito, todo bien, pero si tiene mas te toma solo el primer caracter(el de mas a la izquierda).
Te paso mi codigo renovado, pero sigue patinando cuando le pasas una letra.
Código:
int main()
{
cout<<"Programa para realizar las cuatro operaciones basicas."<<endl<<
"Sumar,restar,multiplicar y dividir"<<endl<<endl;
//defino variable para salir del while
bool salir=false;
while(true)
{
int opcion=menu();
switch(opcion)
{
case 1:
cout<<"Que n\xa3mero queres sumar?"<<endl<<endl;
break;
case 2:
cout<<"Que n\xa3mero queres restar?"<<endl<<endl;
break;
case 3:
cout<<"Que tabla queres multiplicar?"<<endl<<endl;
break;
case 4:
cout<<"Que n\xa3mero queres dividir?"<<endl<<endl;
break;
case 5:
salir=true;
break;
default:
cout<<"Debes seleccionar una opcion"<<endl<<endl;
break;
}
if(salir==true)
break;
}
return 0;
}
int menu()
{
int opcion;
//menu para elgir operacion
cout<<"Ingresa el n\xa3mero de opcion correspondiente a la operacion que quieres realizar:"<<endl;
cout<<"1 - SUMAR"<<endl;
cout<<"2 - RESTAR"<<endl;
cout<<"3 - MULTIPLICAR"<<endl;
cout<<"4 - DIVIDIR"<<endl<<endl;
cout<<"5 - SALIR"<<endl<<endl;
//introduce opcion el usuario
cout<<"Tu opcion: ";
cin>>opcion;
return opcion;
}
En donde muestro los mensajes le pienso poner llamadas a funciones.