Foros del Web » Programación para mayores de 30 ;) » C/C++ »

submenu detro de otro menu

Estas en el tema de submenu detro de otro menu en el foro de C/C++ en Foros del Web. buenas ocupo que alguien me ayude con esto es un proyecto de la u y no e podido lograr que el submenu me funcione despues ...
  #1 (permalink)  
Antiguo 20/04/2011, 08:20
 
Fecha de Ingreso: abril-2011
Ubicación: Costa Rica
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Exclamación submenu detro de otro menu

buenas ocupo que alguien me ayude con esto es un proyecto de la u y no e podido lograr que el submenu me funcione despues de "loguear" soy muy nuevo en esto ojala me puedan ayudar gracias (:

#include <iostream>
#include <stdio.h>
#include <string>

using namespace std;

int main ()

{

char letra,letras;

string usuariodefinido="adrian",usuario;

int clavedefinida=123,clave;

system("Title Hotel California");
system("color 81");



cout<<"Digite L para loguearce\n\n";
cout<<"Digite S para salir del sistema\n\n";

letra=getchar();

switch (letra)
{
case 'L':cout<<"Loguear\n\n";
cout<<"Digite el usuario: \n";
cin>>usuario;
if (usuario==usuariodefinido)

cout<<"usuario correcto\n";

else
{cout<<"Usuario incorrecto\n";
system("pause");
return 0;}




cout<<"Digite su clave:\n";
cin>>clave;

if(clave==clavedefinida)
{ cout<<"Usted a ingresado al sistema\n";
system ("cls");}

else
{cout<<"Clave Incorrecta\n";
system("pause");
return 0;}




cout<<"Digite A para listado de habitaciones\n";
cout<<"Digite B para listado de clientes\n";
cout<<"Digite C para Proceso de reservaciones\n";
cout<<"Digite D para salir\n";

letras=getchar();
switch (letras)
{

case 'A': cout<<"*-Listado de Habitaciones\n-*";break;

case 'B': cout<<"*-Listado clientes\n-*";break;

case 'C': cout<<"*-Proceso de reservaciones\n-*";break;

case 'D': cout<<"*-Usted esta saliento del programa\n-*";
system("pause");
return 0;break;



break;

}



system("pause");
;break;

case 'S':cout<<"Usted esta saliendo del programa\n\n";
system("pause");
return 0;break;



default: cout<<"Lo que usted Digito no es valido\n\n";

system ("pause");

break;
}

return 0;
}
  #2 (permalink)  
Antiguo 20/04/2011, 13:29
 
Fecha de Ingreso: abril-2011
Mensajes: 88
Antigüedad: 13 años
Puntos: 24
Respuesta: submenu detro de otro menu

Es una cosita muy simple.
Básicamente cuando tecleas la clave haces:
[1] [2] [3] [ENTER]
con cin>>clave extraes el 123 pero el enter o '\n' queda en el buffer por lo que a continuación cuando haces getchar() en vez de dejarle al usuario que escriba A, B, C o D getchar() guarda '\n' directamente.

Para solucionar esto simplemente haz cin.ignore() o getchar() antes de pedir que introduzcan A, B, C...

Código:
//...
else
{cout<<"Clave Incorrecta\n";
system("pause");
return 0;}


getchar(); //o cin.ignore()

cout<<"Digite A para listado de habitaciones\n";
cout<<"Digite B para listado de clientes\n";
cout<<"Digite C para Proceso de reservaciones\n";
cout<<"Digite D para salir\n";
//...
Esto ignora un carácter, es decir el salto de linea (\n)
__________________
Foros Desarrollo de Juegos
  #3 (permalink)  
Antiguo 20/04/2011, 21:16
 
Fecha de Ingreso: abril-2011
Ubicación: Costa Rica
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Respuesta: submenu detro de otro menu

muchas gracias por la ayuda se lo agradezco montones a seguir con mi proyecto =)

Etiquetas: submenu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:45.