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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  getline()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: getline()  (Leído 11,820 veces)
Geek7

Desconectado Desconectado

Mensajes: 57


Be Free!


Ver Perfil
getline()
« en: 29 Julio 2010, 20:15 pm »

que esta mal en este codigo?

Código
  1.  
  2. #include <iostream>
  3. #include <stdlib.h>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9.    system("COLOR 3");
  10.  
  11.    string nombre, apellido, equipo;
  12.  
  13.    cout << "Cual es tu nombre y apellido? (2): \t" << endl;
  14.    cin >> nombre >> apellido;
  15.    cout << "Equipo favorito: \t" << endl;
  16.    getline (cin,equipo);
  17.  
  18.    cout << "Bienvenido " << nombre << " " << apellido << endl;
  19.    cout << "Aguante " << equipo << endl;
  20.  
  21.    system("PAUSE");
  22.    return 0;
  23. }
  24.  

cuando escribo nombre y apellido se ejecuta solo el equipo y no me pregunta (y no muestra nada).


En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: getline()
« Respuesta #1 en: 29 Julio 2010, 20:31 pm »

:huh: ¿Quieres que te pregunte por el equipo :-\?

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. char equipo[50];
  8.  
  9. cout << "¿Cuál es tu equipo preferido?: ";
  10.  
  11. cin >> equipo;
  12.  
  13. cout << endl << "Aguante" << equipo << "." << endl;
  14.  
  15. cin.get();
  16.  
  17. return 0;
  18. }

Otra cosa, en tu código limpia el buffer porque si no se tiene que pulsar enter dos veces.

Saludos :P


« Última modificación: 2 Octubre 2010, 22:02 pm por Horricreu » En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: getline()
« Respuesta #2 en: 29 Julio 2010, 20:31 pm »

Primero tas usando la libreria que no es, stdlib.h es de C en C++ es cstdlib...

Segundo debes ignorar e '\n' que queda en el buffer despues de entrar nombre y apellido... Ya que de la forma en que usas el getline() la entrada termina cuando consigue '\n' en el buffer, pero cuando ingresaste el nombre y el apellido dejaste uno Entonces se "salta" el getline...

averigua sobre la funcion miembro ignore()... Miembro de istream si no me equivoco  :xD

http://www.cplusplus.com/reference/iostream/istream/ignore/

Saludos...

En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



Geek7

Desconectado Desconectado

Mensajes: 57


Be Free!


Ver Perfil
Re: getline()
« Respuesta #3 en: 29 Julio 2010, 20:52 pm »

Gracias!

stdlib.h lo utilizaba para system().  :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado]entrar datos con getline utilizar ignore
Programación C/C++
tonilogar 7 6,049 Último mensaje 26 Mayo 2011, 11:02 am
por tonilogar
Se pierde el primer cin.getline en un analisis de casos
Programación C/C++
eleon 5 4,521 Último mensaje 4 Febrero 2012, 00:40 am
por rir3760
cin.getline problemas en C++
Programación C/C++
vikour92 0 1,952 Último mensaje 23 Mayo 2012, 19:24 pm
por vikour92
Problema con el delimitador de getline [SOLUCIONADO]
Programación C/C++
anonimo12121 3 5,416 Último mensaje 1 Abril 2013, 18:13 pm
por anonimo12121
Problema con cin.getline
Programación C/C++
erest0r 8 6,928 Último mensaje 24 Agosto 2013, 03:33 am
por erest0r
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines