Problemas para hacer un menu C++ AYUDA, POR CARIDAD :_(

GANGR3NA
07 de Diciembre del 2003
do
{
clrscr();
cout << "MENé PRINCIPALnn";
cout << "1.- Mostrar un Producton";
cout << "2.- Mostrar todo el Almac‚n 1n";
cout << "3.- Mostrar todo el Almac‚n 2n";
cout << "4.- Salir de la aplicacionnn";
cout << "Elige una opcion: ";
cin >> opcion;
clrscr();
switch (opcion)
{
case 1: etc
case 2: etc
case 3: etc
}
}
while(opcion!=4)
.
.
EL Problema es el siguiente.si en el menu meto x teclao algun otro numero distinto de 1,2,3,4, me rehace el DO-WHILE sin problemas , pero si pongo alguna letra, el lprograma entra en un bucle infinito donde no te da opcion a dar valor a la variable OPCION y se vuelve loco
Cual es el problema????
q alguien me ayude

pmarrero
07 de Diciembre del 2003
eso ya lo he visto antes en algunas aplicaciones amigo/a, lo que tienes que hacer es decirle es incrementarle otra opcion mas, el default que si no es ninguno de los caracteres que tu le mandas que escape del programa o que vuelva a pedirlo, si no te sirve de nada mi explicacion soy iniciante, saludos pavel ;)

GANGR3NA
07 de Diciembre del 2003
e incluido en el switch un default: cin >> opcion;
pero nada. en la ejecucion paso a paso del compilador, pasa x encima pero no me da opcion a introducir nada, creando el dichoso bucle infinito.

lo q quiero es q si meto una letra se repita el DO pero q me deje poner alguna opcion...

buaaaa !! :(