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

Validar Opcion

Estas en el tema de Validar Opcion en el foro de C/C++ en Foros del Web. Buenas Tardes/dias o noches!, bien el motivo de este post, es el que estoy algo complicado a la hora de hacer un programa que solo ...
  #1 (permalink)  
Antiguo 17/04/2011, 13:17
 
Fecha de Ingreso: abril-2011
Mensajes: 3
Antigüedad: 13 años, 7 meses
Puntos: 2
Validar Opcion

Buenas Tardes/dias o noches!, bien el motivo de este post, es el que estoy algo complicado a la hora de hacer un programa que solo le permita al usuario seleccionar las opciones indicadas en el menu, pero, el problema esta es en ¿Como hacer o que funcion utilizar cuando el usuario en vez de ingresar un numero ingresa una letra o un simbolo?

he estado haciendo algo de codigo, sin embargo, creo que no son muy buenos, tengo uno, en el cual leo un entero ("%d"), y lo comparo con las opciones, segun tengo entendido (y que alguien me corrija si me equivoco) es que si el usuario ingresa una letra, el programa lee su codigo ANSI, y asi de hecho funciona, pero, de nuevo cuando intento utilizarlo en mi programa no funciona.... ¿Que estoy haciendo mal?

Espero haberme explicado bien y espero que me puedan ayudar.

aca les dejo el codigo que he hecho hasta ahora.


Código:
#include<stdio.h>
#include<conio.h>

int main()
{

int numero,validar;

do{

		scanf("%d",&numero);
														
		if(numero<1||numero>4)
		{

				printf("\nDebe ser alguna de las opciones no se permiten ni letras, ni simbolos");
				validar=1;
		}
		else{
				validar=2;
				}

}while(validar==1);
printf("Un numero!!!!");
getch();
  }
  #2 (permalink)  
Antiguo 18/04/2011, 09:54
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Validar Opcion

lee la opcion como una cadena o un caracter,
luego mediante un switch evaluas los casos posibles y al final pones un case por defecto el cual equivaldria a una opcion incorrecta:
Código C++:
Ver original
  1. char opcion;
  2.   switch(opcion){
  3.     case '1':
  4.         // aqui lo que se va hacer en caso de elegir la opcion 1
  5.         break;
  6.     case '2':
  7.         // aqui lo que se va hacer en caso de elegir la opcion 2
  8.         break;
  9.  
  10.     case '3':
  11.         // aqui lo que se va hacer en caso de elegir la opcion 3
  12.         break;
  13.  
  14.     case '4':
  15.         // aqui lo que se va hacer en caso de elegir la opcion 4
  16.         break;
  17.  
  18.   default:
  19.    printf("\nDebe ser alguna de las opciones no se permiten ni letras, ni simbolos");
  20.   break;
  21.  
  22.   }

Espero te sirva.. :)
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #3 (permalink)  
Antiguo 18/04/2011, 10:20
 
Fecha de Ingreso: abril-2011
Mensajes: 3
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Validar Opcion

Primero que nada gracias por responder :D

Me resulta bastante util tu respuesta!, al menos para el Menu de opciones!, pero, habra otra forma?, igual necesito solo tomar en cuenta el dato que me interesa, mas adelante en el codigo, tendria que "hacer una evaluacion de la tabla de "sumar, restar, multiplicar o dividir", cosa facil con un ciclo for (de hecho ya lo tengo listo) sin embargo y no se si solamente me estoy reventando la cabeza sin necesidad ¿Como lo haria en ese caso?, habia pensado colocar un pequeño ciclo "Do - while", asi como este:


Código C:
Ver original
  1. do{
  2. fflush( stdin );
  3.     scanf("%d",&tabla);
  4.     if(tabla<1||tabla>10||(isalpha(tabla)))
  5.     {
  6.         printf("Debes elegir una tabla del 1 al 10");
  7.         validar=1;
  8.     }
  9.     else
  10.         {
  11.             (resto del codigo)
  12.        }
  13. while(validar==1)

sin embargo funciona y no funciona, ayer mismo tenia una parte del codigo y funcionaba perfectamente, pero cuando lo incluia en el "programa" no funcionaba igual, estaba trabajando con el Dev C, Codeblocks y con el Turbo C, curiosamente a veces trabajaba distinto en los 3 xD.

Lo acabo de Probar en el Turbo C y funciona digamos que bien!, si alguien tiene una duda o sugerencia, bienvenida sera!
  #4 (permalink)  
Antiguo 18/04/2011, 10:38
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Validar Opcion

prodrias colocar bien detalladamente que es lo que quieres realizar?
gracias
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #5 (permalink)  
Antiguo 18/04/2011, 11:28
 
Fecha de Ingreso: abril-2011
Mensajes: 3
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Validar Opcion

ok,

primero un menu de opciones

1.) suma
2.) resta
3.) multiplicacion
4.) Division
5.) Salir

Leer la opcion hasta que el usuario elija alguna de las 5, de ingresar una letra, debera salir un mensaje diciendo que no se permiten.

eso O.O

Etiquetas: opcion
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

SíEste tema le ha gustado a 2 personas




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