Título: ¿Cómo validar espacios vacíos en C++? Publicado por: Juancho25 en 6 Mayo 2013, 00:02 am Hola, lo que necesito es que cuando pida ingresar un dato y se presione la tecla enter dejando el espacio vacío, no continúe a la siguiente opción sino que permanezca en la misma hasta que se metan datos y no quede el espacio en blanco. Espero me puedan ayudar.
Título: Re: ¿Cómo validar espacios vacíos en C++? Publicado por: Blaster en 6 Mayo 2013, 00:35 am Segun lo que entendi podria hacerlo asi:
Código
Saludos :laugh: Título: Re: ¿Cómo validar espacios vacíos en C++? Publicado por: Juancho25 en 6 Mayo 2013, 02:46 am Segun lo que entendi podria hacerlo asi: Código
Saludos :laugh: Gracias pero veo que ese código es para tipo int, también lo necesito para char el cual tengo con gets(variable) para que me acepte espacios. ¿Sabes cómo podría hacerle? Título: Re: ¿Cómo validar espacios vacíos en C++? Publicado por: Blaster en 6 Mayo 2013, 04:26 am Siendo asi el caso quedaria de esta forma, lo he hecho en c++:
Código
No te recomiendo que uses gets las razones aqui: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html) Espero haberte ayudado cualquier duda hazmelo saber.. Un Saludo!! ;D Título: Re: ¿Cómo validar espacios vacíos en C++? Publicado por: RyogiShiki en 6 Mayo 2013, 04:51 am A continuación una solució un poco más genérica:
Código
Documentación: StringStreams (http://www.cplusplus.com/reference/sstream/stringstream/) Título: Re: ¿Cómo validar espacios vacíos en C++? Publicado por: Juancho25 en 6 Mayo 2013, 06:25 am Siendo asi el caso quedaria de esta forma, lo he hecho en c++: Código
No te recomiendo que uses gets las razones aqui: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html) Espero haberte ayudado cualquier duda hazmelo saber.. Un Saludo!! ;D Implementé el código de arriba y me funcionó, sólo un pequeño problema, no me permite ingresar más de 2 palabras, es decir, al momento de dejar el espacio para poner la segunda palabra, me marca como si estuviera vacío y me regresa a que ingrese de nuevo el texto. Título: Re: ¿Cómo validar espacios vacíos en C++? Publicado por: rir3760 en 6 Mayo 2013, 15:14 pm sólo un pequeño problema, no me permite ingresar más de 2 palabras, es decir, al momento de dejar el espacio para poner la segunda palabra, me marca como si estuviera vacío y me regresa a que ingrese de nuevo el texto. Si estas aprendiendo C++ lo mejor es seguir el ejemplo de RyogiShiki ya que al utilizar la biblioteca estándar de C++ te olvidas de ciertos problemas (por ejemplo la longitud de la linea).El programa que mencionas no acepta lineas con mas de una palabra porque su condición de salida lo prohíbe: Código La función strchr retorna verdadero (una dirección diferente de NULL) cuando el carácter indicado por el segundo argumento (en este caso 32, mejor indicarlo con ' ') se encuentra en la cadena (primer argumento). Es por eso que el bucle se repetirá mientras la linea contenga un espacio. En su lugar se debe verificar que la linea contenga al menos un caracter que no sea espacio o tabulador. Para ello se puede utilizar: Código
Pero, de nuevo, mejor enfocate en aprender la biblioteca estándar de C++. Un saludo |