Título: No entiendo la funcion del cin en este programa Arreglo de caracteres Publicado por: CATBro en 8 Julio 2012, 04:16 am Que onda! No entiendo para que poner ese cin ????
Código
La salida del programa es la siguiente Escriba la cadena "hola todos": hola todos cadena1 es : hola cadena2 es : literal de cadena cadena1 con espacios entre caracteres es: h o l a cadena1: todos El problema es donde señalo en el codigo el cin, al momento de llegar a esa parte no me deja introducir nada el programa , se brinca a la siguiente linea y en lugar de imprimir solamente "hola" imprime "todos" Saludos Título: Re: No entiendo la funcion del cin en este programa Arreglo de caracteres Publicado por: durasno en 8 Julio 2012, 07:45 am Hola! nose de donde sacaste el codigo pero esta bueno para entender como trabaja cin con el bufer del teclado... Cuando vos ingresas "hola todos", el primer cin lo unico que almacena en cadena1 es "hola" y esto se debe a que cin solo lee hasta encontrar un blanco(osea un espacio, tabulacion, salto de linea), en este caso leyo hasta encontrar el espacio. ¿¿Pero que pasa con "todos"??? esta porcion del string queda en el bufer del teclado... Luego el segundo cin lee del bufer la palabra "todos" sin dejarte ingresar nada
Saludos Título: Re: No entiendo la funcion del cin en este programa Arreglo de caracteres Publicado por: CATBro en 8 Julio 2012, 21:17 pm El libro es C++ como programar sexta edicion de Deitel, voy en el capitulo 7 y nunca el autor menciona ese comportamiento del cin, una pregunta esa funcion del cin solo la puedo observar cuando uso arreglo de caracteres?
Saludos! Título: Re: No entiendo la funcion del cin en este programa Arreglo de caracteres Publicado por: DickGumshoe en 8 Julio 2012, 21:22 pm Normalmente pasa lo que ha mencionado durasno cuando es una cadena de caracteres, ya que es cuando se suele introducir un espacio. Pero si estás pidiendo un número y pones un espacio, también te lo deja por la mitad.
Saludos. Título: Re: No entiendo la funcion del cin en este programa Arreglo de caracteres Publicado por: rmhak en 9 Julio 2012, 15:58 pm El cin siempre que lo uses y para el tipo de datos que lo uses se comporta igual, solo lee hasta un espacio, un tabulador, un salto de línea. Es un flujo de entrada.
Al introducir "hola todos" estás escribiendo hola(espacio)todos(salto de línea). El primer cin lee hasta el espacio y el segundo cin lee hasta el salto de línea por eso brinca la línea y no te deja escribir. Si al final del programa introduces un tercer cin si podrías escribir. Un string no es un tipo básico de c++ y aunque no uses un arreglo y usases un string ocurriría lo mismo, al igual que con cualquier tipo básico (char, int, float...). Te dejo un ejemplo de como leer una línea completa en c++ (http://www.cplusplus.com) Código
Un saludo. Título: Re: No entiendo la funcion del cin en este programa Arreglo de caracteres Publicado por: CATBro en 11 Julio 2012, 00:46 am Muchas gracias ya mas claro, ya solo queda practicar
Saludos |