Título: Ayuda lenguaje C pequeña duda Publicado por: SKaY9 en 11 Febrero 2013, 21:42 pm Buenas, tengo el siguiente codigo y lo que quiero es que me lea el menú y si le doy a la letra q se me finalice el programa (que no se porque no me va cuando le doy a una letra pero si cuando le pongo un número) y que si por ejemplo le doy a la z o cualquier numero que no sea ni el 1 ni el 2 que me salga "Error: Opcion incorrecta" y vuelva otra vez a pedirme la opción, el problema es que me sale un bucle infinito y no se porque y lo que quiero es que me salga "Error: Opcion incorrecta" y vuelva a pedirme otra vez la opcion hasta que de al 1,2 o q.
Código: #include <iostream> Título: Re: Ayuda lenguaje C pequeña duda Publicado por: leosansan en 11 Febrero 2013, 22:19 pm Buenas, tengo el siguiente codigo y lo que quiero ................... Mejor tomar opción como char y así al entrar una letra no se colgará. Fíjate en que ahora los case son 'Nº ': Código
Otra opción es "comerse" el carácter no válido: Código Saluditos!. Título: Re: Ayuda lenguaje C pequeña duda Publicado por: do-while en 12 Febrero 2013, 15:48 pm ¡Buenas!
No te leera caracteres porque espera leer un entero. Cuando introduzcas un caracter comprueba el failbit de cin (cin.fail()). Supongo que se te activara. Código
En este caso, como las opciones del menu no llegan a los dos digitos, como bien te ha dicho leosansan, puedes utilzar un caracter para leer la opcion del menu. Sino, utiliza un valor numerico tambien para la opcion de salir. Pero no mezcles valores numericos y caracteres. ¡Saludos! Título: Re: Ayuda lenguaje C pequeña duda Publicado por: SKaY9 en 12 Febrero 2013, 19:14 pm Era que tenia que poner al valor opcion un char y no un int, ya que cuando ponia una letra me salia el bucle infinito, que error más tonto cometi y el tiempo que estuve pensando porque y no lograba averiguarlo, gracias por el aporte.
|