Título: Validar ingreso de cadena y de números en lenguaje C. Publicado por: NOB2014 en 16 Febrero 2016, 22:59 pm Hola a todos.
Estoy haciendo algunas practicas para hacer que el ingreso de datos en c no traiga sorpresas, En cuanto a las cadenas me parece que con el primer programa está todo resuelto, no debería haber errores (me refiero a no escribir más aya del límite de la variable).- El inconveniente lo tengo con el ingreso de números, no logro validar que el número ingresado sea menor o igual a UINT_MAX, pensé en crear una variable con mayor capacidad y así no tendría sorpresas, pero lo que quisiera saber si hay alguna otra manera,- Código
Código
Otra cosita, alguien me podría decir como poner estas 2 líneas en una sola, le puse paréntesis, pero de cualquier manera el resultado es erróneo,- Código
Bueno es todo, espero puedan ayudarme.- Saludos. Daniel Título: Re: Validar ingreso de cadena y de números en lenguaje C. Publicado por: fary en 17 Febrero 2016, 00:49 am Que problema tienes con los numeros? tu duda se resuelte con un simple if...
Lo de la cosilla: Código
Título: Re: Validar ingreso de cadena y de números en lenguaje C. Publicado por: NOB2014 en 17 Febrero 2016, 13:44 pm Hola, fary.
Muchas gracias por ocuparte, a continuación pongo unas líneas para que veas como lo hice, si esto es lo que proponías en mi caso no me funciona, o sea, no valida correctamente, si pongo if( (numero*10) + (c-48) <= 1000 ) e ingreso 1001 me valida correctamente pero con UINT_MAX no me funciona, probé con un #define y tampoco. - Código Espero que me indiques(n) donde se encuentra el error,- Saludos. Daniel Título: Re: Validar ingreso de cadena y de números en lenguaje C. Publicado por: ivancea96 en 17 Febrero 2016, 16:03 pm Sea cual sea el error, ten en cuenta una cosa.
¿Qué número entero sin signo podria ser mayor que el máximo número entro sin signo? Código
Ninguno. Deberías hacer un casting a long long al menos (o declarar numero como long long). Y como dato extra, en vez de 48, puedes poner '0', por pura claridad a la hora de trabajar. Título: Re: Validar ingreso de cadena y de números en lenguaje C. Publicado por: engel lex en 17 Febrero 2016, 16:18 pm también se podría (a riesgo que el numero no sea ridículamente grande)
Código
así aún puedes medir eso sin desbordar Título: Re: Validar ingreso de cadena y de números en lenguaje C. Publicado por: NOB2014 en 17 Febrero 2016, 21:40 pm Hola. -
declarando numero como long long como sugirió ivancea96 funciona a la perfección. - No obstante me quedan dudas, voy a seguir practicando. - Saludos. Daniel Título: Re: Validar ingreso de cadena y de números en lenguaje C. Publicado por: NOB2014 en 18 Febrero 2016, 22:40 pm Hola, a todos.
Conseguí hacer otra versión para que el ingreso de números sea correcto, espero que le sirva de ayuda a alguien. - Código
Aprovecho para consultarles si alguien sabe por qué me da los siguientes errores al compilar, consulté en internet y está todo explicado en inglés y todavía no es mi fuerte, debo aclarar que en la máquina que compilo en línea de comando (imagen) me da las advertencias, en cambio, en la otra de 64 bits, en Linux con el compilador que trae integrado el ide Geany, todo correcto. - (http://i67.tinypic.com/5ldvfq.png) Creo tener la última versión del compilador gcc, tal vez esté mal configurado.- Saludos. Título: Re: Validar ingreso de cadena y de números en lenguaje C. Publicado por: fary en 18 Febrero 2016, 23:08 pm Los warnings son por no hacer los castings convenientes.
Concretamente en la linea 10 y la 20, como te indica el compilador. saludos. |