SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Nevhazovat en Martes 22 de Mayo de 2007, 16:57

Título: Menu
Publicado por: Nevhazovat en Martes 22 de Mayo de 2007, 16:57
Hola.

Tengo una duda con el siguiente menu.
Código: Text
  1.  
  2.    int opcion;
  3.    for(;;)
  4.    {
  5.       do
  6.       {
  7.       printf("/\/\/ MENU \/\/\");
  8.       printf("1. ALUMNOS.");
  9.       printf("2. PROFESORES.");
  10.       printf("3. VOLVER.");
  11.  
  12.       printf("Elije un número: ");
  13.       scanf("%d", &opcion);
  14.       }
  15.       while (opcion>3 || opcion<1);
  16.  
  17.       switch (opcion)
  18.       {
  19.     case 1: Alumnos();
  20.         break;
  21.     case 2: Profesores();
  22.         break;
  23.     case 3: printf("\nVOLVER.");
  24.         break;
  25.       }
  26.     if(opcion==3) break;
  27.    }
  28.  

Con ese código, cuando pulso un número que no está entre 1 y 3, el programa no hace nada (vuelve a pedir un número). ¿Cómo podría hacerlo también para que al introducir una letra o un símbolo el programa no pete y funcione igual que si hubiera introducido un numero no permitido, en este caso por ejemplo, el 4?

Saludos.
Título: Re: Menu
Publicado por: Bicholey en Martes 22 de Mayo de 2007, 17:17
:P  :P  :P  :P  :P


la logica es muy parecida solo esfuerzate un poco y podrias condicionar alas letras que esten entre e y z como no validas para usar a,b,c,d como opciones...
Título: Re: Menu
Publicado por: Nevhazovat en Martes 22 de Mayo de 2007, 17:21
Cita de: "Bicholey"
:P  :P  :P  :P  :P


la logica es muy parecida solo esfuerzate un poco y podrias condicionar alas letras que esten entre e y z como no validas para usar a,b,c,d como opciones...

Hola.

No, si no quiero usar letras como opciones. Lo que quiero es que al meter una letra el programa no pete.