Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/02/2009, 11:33
papucho666
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 16 años, 4 meses
Puntos: 0
Error al seleccionar opcion

Hola, antes que nada les digo lo que hace el codigo que esta mas abajo. El usuario debe introducir una opcion que pueden ser los numros del 1 al 4 y le devuelve un mensaje, pero si no es un numero del 1 al 4 le da para ingresar de nuevo la opcion.

Al compilarlo no da errores, anda correctamente salvo por un detalle, cuando ingreso un numero que no sea ninguno del 1 al 4, todo bien, me da para ingresar la opcion de nuevo, pero si ingreso una letra queda en un bucle sin fin.

Me pueden ayudar a descubrir el error?

Gracias.

Código:
int main()
{	
	cout<<"Programa para realizar las cuatro operaciones basicas."<<endl<<
		"Sumar,restar,multiplicar y dividir"<<endl<<endl;
ingresa_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;
	
	
	//defino variable que usa el usuario para introducir opcion
	int opcion=0;
	

	//introduce opcion el usuario
	cout<<"Tu opcion: ";
	cin>>opcion;
	

	char mensaje[]="";

	switch(opcion)
	{
	case 1:
		strcpy(mensaje,"Que n\xa3mero queres sumar?: ");
		break;
	case 2:
		strcpy(mensaje,"Que n\xa3mero queres restar?: ");
		break;
	case 3:
		strcpy(mensaje,"Que tabla queres multiplicar?: ");
		break;
	case 4:
		strcpy(mensaje,"Que n\xa3mero queres dividir?: ");
		break;
	default:
		goto ingresa_opcion;
		break;
	}
	cout<<endl<<mensaje<<endl<<endl;;
		
	return 0;
}