Título: AYUDA PROGRAMA EN C:No detecta los tipo Char Publicado por: Dayleap en 6 Mayo 2016, 12:38 pm ; esto forma parte de un programa mayor ; el porblema esta en que cuando lo ejecuto y le introduzco por teclado un valor tal que resp pasa a ser igual a ... por ejemplo '3f', es decir: resp[0]=3 resp[1]=f entonces me deberia de volver a pedir que escoja un nuevo nivel de dificultad pero no lo hace. Lo que hace es retornarme la parte entera del array y , si no tiene parte entera me devuelve un 0; LO QUE QUIERO QUE HAGA ES QUE SI INTRODUZCO UN CARACTER ME LO DETECTE Y ME DIGA QUE VUELVA A INTRODUCIR LA DIFICULTAD. MUCHAS GRACIAS ;D
Código: int main(){ Título: Re: AYUDA PROGRAMA EN C:No detecta los tipo Char Publicado por: MAFUS en 6 Mayo 2016, 13:47 pm Bien, veo que lo has escrito deprisa y corriendo. Para otra vez formatea el código, se agradece verlo bien presentado.
Dentro del bucle do-while, pon la primera instrucción que lleve control a 0. Si hay algún fallo control empezará el bucle ya con código de error y no saldrás de él. Para scanf, debes hacer que acepte un máximo de 4 caracteres, sino podrías crear desbordamiento de la variable resp. Sobre la variable resp, ella misma ya actúa como puntero y no debes pasarle la dirección de memoria. No uses fflush(stdin) no es estándar y no va bien con todos los compiladores. Hay alternativas con funciones de librería y un poco de código. resp<'0'&& resp>'9' puedes sustituirlo por la función de librería isdigit de ctype.h En el 'case 0' has escrito, en su última instrucción control==1, una comparación sin efecto. Supongo que querías hacer una asignación. Título: Re: AYUDA PROGRAMA EN C:No detecta los tipo Char Publicado por: HardForo en 6 Mayo 2016, 14:24 pm Citar resp<'0'&& resp>'9' puedes sustituirlo por la función de librería isdigit de ctype.h Vale la pena cargar una libreria para eso ? si la libreria usa macros (http://hardforo.com/thread-287.html#pid733), claro que si ::) Por ejemplo la libreria stdlib.h para poder usar EXIT_SUCCESS y/o EXIT_FAILURE usa de hecho macros asi que no hay ningun tipo de overhead en el programa. Respuesta inspirada en @MAFUS ;D Título: Re: AYUDA PROGRAMA EN C:No detecta los tipo Char Publicado por: Dayleap en 8 Mayo 2016, 14:27 pm Muchas gracias , la funcion isdigit hacer que funcione el codigo
|