elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  [SOLUCIONADO] me salta el getline
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO] me salta el getline  (Leído 1,605 veces)
elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
[SOLUCIONADO] me salta el getline
« en: 19 Febrero 2013, 22:53 »

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
  1. #include <iostream>
  2. using std::cout;
  3. using std::cin;
  4. using std::endl;
  5.  
  6. #include <string>
  7. using std::getline;
  8. using std::string;
  9.  
  10. int main()
  11. {
  12. int numero1;
  13. int numero2;
  14. double numero3;
  15. string nombre;
  16.  
  17. cout << "Bienvenido, escriba 1 numero entero\n";
  18. cin >> numero1;
  19. cout << "Bien! ahora escriba un numero con decimales!\n";
  20. cin >> numero3;
  21. cout << "Escriba un numero entero\n";
  22. cin >> numero2;
  23. cout << "Escribe tu nombre y apellido!";
  24. getline(cin, nombre);
  25. cout << "\nBienvenido: " << nombre << endl;
  26. cout << "OK, ingreso los numeros: " <<numero1 << " " << numero3 << " " << numero2;
  27. cout << "hagamos unas cuentas...";
  28. cout << numero3 << "es igual a " << numero1 << " dividido " << numero2 << endl;
  29. numero3 = static_cast <double> (numero1) / numero2;
  30. cout << "tomando enteramente seria: " << numero1 / numero2;
  31. cout << "tomando con static es: " << numero3;
  32. cin.get();
  33. return 0;
  34. }
  35.  
  36.  


« Última modificación: 20 Febrero 2013, 00:01 por 1996marioful » En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.300



Ver Perfil WWW
Re: me salta el getline
« Respuesta #1 en: 19 Febrero 2013, 23:08 »

linia 24, por que el getline? si es un string puedes usar como los otros
cin >> nombre;


En línea

elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: me salta el getline
« Respuesta #2 en: 19 Febrero 2013, 23:18 »

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
En línea

engel lex


Desconectado Desconectado

Mensajes: 3.056



Ver Perfil
Re: me salta el getline
« Respuesta #3 en: 19 Febrero 2013, 23:26 »

acaso cin no permite espacios?
En línea

Feel the Ditto inside of you!

Leer reglas del Foro



si publicas codigo usa las etiquetas
elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: me salta el getline
« Respuesta #4 en: 19 Febrero 2013, 23:32 »

acaso cin no permite espacios?

creo que no, y si lso permite igual quiero saber porq salta el getline XD
En línea

engel lex


Desconectado Desconectado

Mensajes: 3.056



Ver Perfil
Re: me salta el getline
« Respuesta #5 en: 19 Febrero 2013, 23:43 »

limpia el buffer... en c creo que con un getline vacio :P
En línea

Feel the Ditto inside of you!

Leer reglas del Foro



si publicas codigo usa las etiquetas
elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: me salta el getline
« Respuesta #6 en: 19 Febrero 2013, 23:47 »

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 :(
En línea

engel lex


Desconectado Desconectado

Mensajes: 3.056



Ver Perfil
Re: me salta el getline
« Respuesta #7 en: 19 Febrero 2013, 23:52 »

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)
En línea

Feel the Ditto inside of you!

Leer reglas del Foro



si publicas codigo usa las etiquetas
elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: me salta el getline
« Respuesta #8 en: 20 Febrero 2013, 00:01 »

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
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: me salta el getline
« Respuesta #9 en: 20 Febrero 2013, 01:27 »

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
  1. using namespace std;
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
engel lex


Desconectado Desconectado

Mensajes: 3.056



Ver Perfil
Re: [SOLUCIONADO] me salta el getline
« Respuesta #10 en: 20 Febrero 2013, 03:30 »

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:

Código
  1. using namespace std;
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...
En línea

Feel the Ditto inside of you!

Leer reglas del Foro



si publicas codigo usa las etiquetas
elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: [SOLUCIONADO] me salta el getline
« Respuesta #11 en: 21 Febrero 2013, 19:58 »

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
En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.300



Ver Perfil WWW
Re: [SOLUCIONADO] me salta el getline
« Respuesta #12 en: 21 Febrero 2013, 20:12 »

una pregunta, por que no cambias esto
Código:
using std::cout;
using std::cin;
using std::endl;

por esto
Código:
using namespace std;
En línea

elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: [SOLUCIONADO] me salta el getline
« Respuesta #13 en: 21 Febrero 2013, 20:17 »

una pregunta, por que no cambias esto
Código:
using std::cout;
using std::cin;
using std::endl;

por esto
Código:
using namespace std;

me gusta usarlo asi como esta en el programa, me evita olvidarme cosas jeje :D
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines