Título: Problema con programa en lenguaje C Publicado por: RojoVGA en 6 Marzo 2017, 00:49 am Código
· Los códigos deben ir en etiquetas GeSHi >aquí las reglas del foro (http://foro.elhacker.net/reglas.htm) -Engel Lex Título: Re: Problema con programa en lenguaje C Publicado por: MAFUS en 6 Marzo 2017, 09:53 am A ver, ¿qué intentaste decir con ese argumento del scanf?
Título: Re: Problema con programa en lenguaje C Publicado por: RojoVGA en 6 Marzo 2017, 13:37 pm Es una simple validación, donde le digo que ingrese solo el numero 1 o 2, aparte le digo que no acepte otro valor como lo son de la a-z y tampoco que la acepte en mayúscula A-Z, y por ultimo que no me agarre símbolos, por ello le pongo el código ascii desde el 32 (que es el espacio) hasta el ultimo símbolo que es 255, y lo de los 5000 es los caracteres q me agarrara, ya que cuando escribía 1s, me agarraba la opción 1 cosa q no debería pasar. (obviamente se ve que ando aprendiendo pero ya he hecho casi de todo, tengo otras formas de validarlo pero no me agarran tampoco :S).
Título: Re: Problema con programa en lenguaje C Publicado por: MAFUS en 6 Marzo 2017, 14:04 pm Ok. La construcción está mal hecha. Intentas anidar expresiones y eso no está permitido, hasta donde yo sé.
Después intentas hacer que scanf recoja y guarde un dato numérico cuando tratas con una cadena. El argumento [ indica a scanf que el dato va a ser una cadena. Esa d al final solo indica a scanf que en el buffer va a haber una d al final de todo que debe ser ignorada. Usa otra técnica. Por ejemplo recoge una cadena de X caracteres y después mira si tiene más de 1 caracter, si es así da un mensaje de error. Después miras si ese carácter es un dígito, da un mensaje de error. Al final tendrás el caracter para comparar con el if. O lo conviertes a un número y podrás usar un switch para facilitar futuras ampliaciones del menú. |