Tema: menu c++
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/11/2014, 10:48
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 5 meses
Puntos: 38
Respuesta: menu c++

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.  
  6.     //banco b;
  7.     char opcion;
  8.    
  9.     //iniciar ( b );
  10.    
  11.    
  12.     while ( opcion != '5' ) {
  13.         cout << "------------MENU------------" << endl;
  14.         cout << "1-Insertar " << endl;
  15.         cout << "2-Consultar " << endl;
  16.         cout << "3-Hacer un pedido " << endl;
  17.         cout << "4-Mostrar toda la información " << endl;
  18.         cout << "5-Salir" << endl;
  19.         cout << "----------------------------" << endl;
  20.        
  21.         scanf("%c%*c", &opcion);
  22.        
  23.        
  24.         switch ( opcion ) {
  25.             case '1':
  26.            
  27.                 //...
  28.                 break;
  29.                
  30.             case '2':
  31.            
  32.                 //...
  33.                 break;
  34.                
  35.             case '3':
  36.                 //..
  37.                 break;
  38.                
  39.             case '4':
  40.                 //...
  41.                 break;
  42.                
  43.             case '5':
  44.                 //..
  45.                 break;
  46.         }
  47.     }
  48.    
  49.    
  50.     return 0;
  51. }

Eso es por que tienes residuos enel buffer.
El dichoso enter '\n' te hace eso cuando se mete en el buffer.
El scanf("%c%*c", &opcion); toma un char pero ignora el enter que hace esos estragos en tu programa XDD

debes o bien limpiar el buffer o bien intentar que no se te cole enter en el.
Enter tambien es un char y por eso se da esos problemas.
Consulta por internet como limpiar el buffer. Si encuentras algo con fflush no lo uses XDDD
Suerte!