/*----------------------------------------------------------------
|	Autor:                                                        |
|	Fecha:                            Versión: 1.0	              |
|-----------------------------------------------------------------|
|	Descripción del Programa:                                     |
|  								                                  |
| ----------------------------------------------------------------*/

// Incluir E/S y Librerías Standard
#include <iostream>
#include <cstdlib>
using namespace std;

// Zona de Declaración de Constantes

// Zona de Declaración de Tipos

// Zona de Cabeceras de Procedimientos y Funciones

// Programa Principal

int main()
{ bool salir;
  char OpcionMenu,si_no;

  salir = false;
  while(!salir)
  { 
    system("cls");  // Borro la Pantalla
    
    // Pintar el Menu
    cout << "           MENU" << endl;
    cout << "           ====" << endl;  
    cout << "Elaborado Por : Nombre Apellidos" << endl;
    cout << "E.T.S.I Informatica de Gestion Curso: 1-A " << endl;
    cout << "Fecha: 2 de Diciembre de 2.003" << endl;
    cout << endl << endl; // 2 saltos de línea
    cout << "A.- Opcion A" << endl;
    cout << "B.- Opcion B" << endl;
    cout << "C.- Opcion B" << endl;  
    cout << "X.- Salir del Programa" << endl;
    cout << endl << "Opcion: ";
    
    // Leer la Opción
    cin >> OpcionMenu;
    OpcionMenu = toupper(OpcionMenu); // Paso OpcionMenu a mayúsculas
    while ( (OpcionMenu!='X') && 
            ((OpcionMenu<'A') || (OpcionMenu>'C')) 
           )
    { cout << endl << "Opcion Incorrecta ...";
      cout << endl << "Opcion: ";
      cin >> OpcionMenu;
      OpcionMenu = toupper(OpcionMenu); // Paso OpcionMenu a mayúsculas
    }
    
    switch(OpcionMenu)
    { case 'A': cout << "Ha seleccionado la Opcion A" << endl;
                break;
      case 'B': cout << "Ha seleccionado la Opción B" << endl;
                break;                
      case 'C': cout << "Ha seleccionado la Opcion C" << endl;
                break;
      case 'X': cout << endl << endl;
                cout << "Esta seguro de que quiere salir (S/N)?";
                cin >> si_no;
                si_no = toupper(si_no);
                salir = (si_no=='S');
                break;
    }
    system("Pause"); // Hacer una pausa
  } 

  return 0;	   // Valor de retorno al S.O.
}

// Implementación de Procedimientos y Funciones