Título: [SOLUCIONADO] me salta el getline Publicado por: elkiy en 19 Febrero 2013, 22:53 pm Hola en este programa no deja escribir el nombre porque pasa directamente al otro codigo quisiera saber porque y cual seria la solucion
Código
Título: Re: me salta el getline Publicado por: Stakewinner00 en 19 Febrero 2013, 23:08 pm linia 24, por que el getline? si es un string puedes usar como los otros
cin >> nombre; Título: Re: me salta el getline Publicado por: elkiy en 19 Febrero 2013, 23:18 pm linia 24, por que el getline? si es un string puedes usar como los otros cin >> nombre; Hola mas que nada es porque es un nombre, getline te permite que el usuario ingrese caracteres con espacios Título: Re: me salta el getline Publicado por: engel lex en 19 Febrero 2013, 23:26 pm acaso cin no permite espacios?
Título: Re: me salta el getline Publicado por: elkiy en 19 Febrero 2013, 23:32 pm acaso cin no permite espacios? creo que no, y si lso permite igual quiero saber porq salta el getline XD Título: Re: me salta el getline Publicado por: engel lex en 19 Febrero 2013, 23:43 pm limpia el buffer... en c creo que con un getline vacio :P
Título: Re: me salta el getline Publicado por: elkiy en 19 Febrero 2013, 23:47 pm limpia el buffer... en c creo que con un getline vacio :P como es eso? porque si pongo getline(); antes del otro get me da error :( Título: Re: me salta el getline Publicado por: engel lex en 19 Febrero 2013, 23:52 pm bueno coloca 2 veces el mismo getline, el primero agarra lo que está en el buffer el segundo los datos que quieres... (sorry tengo tiempo sin usar c, pero eso es algo común en c, j y algunos otros lenguajes)
Título: Re: me salta el getline Publicado por: elkiy en 20 Febrero 2013, 00:01 am bueno coloca 2 veces el mismo getline, el primero agarra lo que está en el buffer el segundo los datos que quieres... (sorry tengo tiempo sin usar c, pero eso es algo común en c, j y algunos otros lenguajes) Gracias hay andubo :D Título: Re: me salta el getline Publicado por: amchacon en 20 Febrero 2013, 01:27 am acaso cin no permite espacios? No, cada vez que pulsas la tecla "espacio" se da la lectura por terminada (como si pulsaras enter).Por eso hay que usar getline PD: Repito, no tienes que usar todos esos "using std::". Basta con que pongas uno genérico: Código
Título: Re: [SOLUCIONADO] me salta el getline Publicado por: engel lex en 20 Febrero 2013, 03:30 am Citar No, cada vez que pulsas la tecla "espacio" se da la lectura por terminada (como si pulsaras enter). Por eso hay que usar getline ok :P sorry es que tengo tiempo sin ponerme con c PD: Repito, no tienes que usar todos esos "using std::". Basta con que pongas uno genérico: cierto! :PCódigo
por cierto... no recuerdo si en c... pero si revisas el contenido del primer getline posiblemente verás que contiene el enter que pulsaste anteriormente... recuerdo que me explicaron eso, pero no recuerdo por que... Título: Re: [SOLUCIONADO] me salta el getline Publicado por: elkiy en 21 Febrero 2013, 19:58 pm ok :P sorry es que tengo tiempo sin ponerme con c cierto! :P por cierto... no recuerdo si en c... pero si revisas el contenido del primer getline posiblemente verás que contiene el enter que pulsaste anteriormente... recuerdo que me explicaron eso, pero no recuerdo por que... si lo se pero me gusta usarlo así porque evito olvidarme cosas XD Título: Re: [SOLUCIONADO] me salta el getline Publicado por: Stakewinner00 en 21 Febrero 2013, 20:12 pm una pregunta, por que no cambias esto
Código: using std::cout; por esto Código: using namespace std; Título: Re: [SOLUCIONADO] me salta el getline Publicado por: elkiy en 21 Febrero 2013, 20:17 pm una pregunta, por que no cambias esto Código: using std::cout; por esto Código: using namespace std; me gusta usarlo asi como esta en el programa, me evita olvidarme cosas jeje :D Título: Re: [SOLUCIONADO] me salta el getline Publicado por: Stakewinner00 en 21 Febrero 2013, 20:21 pm a si, ya lo dijiste me despiste.
Bueno, personalmente te recomiendo que uses el más corto y cómodo, y yo tampoco usaría un return 0 al final ya que igualmente sale pero bueno, eso es más comprensible. Los codigos deben ser lo más corto y simples, sino la gente no los entiende. Título: Re: [SOLUCIONADO] me salta el getline Publicado por: amchacon en 21 Febrero 2013, 20:24 pm yo tampoco usaría un return 0 al final ya que igualmente sale Bueno el estándar dice que el main debe devolver algo. Por lo que no viene mal ponerlo (de hecho es recomendable). Título: Re: [SOLUCIONADO] me salta el getline Publicado por: Stakewinner00 en 21 Febrero 2013, 20:55 pm ya lo sé, por eso digo que es igual. Pero en lo del using namespace no hay otra.
Título: Re: [SOLUCIONADO] me salta el getline Publicado por: rir3760 en 22 Febrero 2013, 03:27 am una pregunta, por que no cambias esto Código: using std::cout; por esto Código: using namespace std; + ya lo sé, por eso digo que es igual. Pero en lo del using namespace no hay otra. En C++ se evita el conflicto de nombres mediante los namespaces. Al utilizar "using namespace::std;" todo el namespace std se vuelca en el global: lo que quieres y lo que no.En mi caso prefiero utilizar sentencias "using std::nombre;" por dos razones: 1) como refuerzo al aprender las facilidades cortesía de cada encabezado y 2) porque solo se incluye lo necesario. Una pagina relacionada (pero en ingles) es: C++ FAQ: [27.5] Should I use using namespace std in my code? (http://www.parashift.com/c++-faq/using-namespace-std.html). Un saludo Título: Re: [SOLUCIONADO] me salta el getline Publicado por: Stakewinner00 en 22 Febrero 2013, 07:42 am Gracias por la información, la tendré en cuenta cuando alguna variable me falle, pero sigo pensando que para que el codigo sea más simple va bien usar using namespace.
Título: Re: [SOLUCIONADO] me salta el getline Publicado por: leosansan en 22 Febrero 2013, 23:31 pm Hola en este programa no deja escribir el nombre porque pasa directamente al otro codigo quisiera saber porque y cual seria la solucion Problemas de buffer con \n. Te los "comes" con un while, o su función equivalente en C++: Código Saluditos!. |