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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [SOLUCIONADO] me salta el getline
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO] me salta el getline  (Leído 10,297 veces)
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: [SOLUCIONADO] me salta el getline
« Respuesta #10 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:

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

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
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 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


En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



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

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 pm »

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

Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: [SOLUCIONADO] me salta el getline
« Respuesta #14 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.
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: [SOLUCIONADO] me salta el getline
« Respuesta #15 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).
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
Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: [SOLUCIONADO] me salta el getline
« Respuesta #16 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.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: [SOLUCIONADO] me salta el getline
« Respuesta #17 en: 22 Febrero 2013, 03:27 am »

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;

+

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? .

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: [SOLUCIONADO] me salta el getline
« Respuesta #18 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.
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [SOLUCIONADO] me salta el getline
« Respuesta #19 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
  1. #include <iostream>
  2. #include <cstdio>
  3. using std::cout;
  4. using std::cin;
  5. using std::endl;
  6.  
  7. #include <string>
  8. using std::getline;
  9. using std::string;
  10.  
  11. int main()
  12. {
  13. int numero1;
  14. int numero2;
  15. double numero3;
  16. string nombre;
  17.  
  18. cout << "Bienvenido, escriba 1 numero entero\n";
  19. cin >> numero1;
  20. cout << "Bien! ahora escriba un numero con decimales!\n";
  21. cin >> numero3;
  22. cout << "Escriba un numero entero\n";
  23. cin >> numero2;
  24. while (getchar ()!='\n');
  25. cout << "Escribe tu nombre y apellido!";
  26. while (getchar ()!='\n');
  27. cout << "\nBienvenido: " << nombre << endl;
  28. cout << "OK, ingreso los numeros: " <<numero1 << " " << numero3 << " " << numero2;
  29. cout << "hagamos unas cuentas...";
  30. cout << numero3 << "es igual a " << numero1 << " dividido " << numero2 << endl;
  31. numero3 = static_cast <double> (numero1) / numero2;
  32. cout << "tomando enteramente seria: " << numero1 / numero2;
  33. cout << "tomando con static es: " << numero3;
  34. cin.get();
  35. return 0;
  36. }
  37.  
Saluditos!.
« Última modificación: 22 Febrero 2013, 23:33 pm por leosansan » En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
getline()
Programación C/C++
Geek7 3 9,739 Último mensaje 29 Julio 2010, 20:52 pm
por Geek7
[Solucionado]entrar datos con getline utilizar ignore
Programación C/C++
tonilogar 7 4,199 Último mensaje 26 Mayo 2011, 11:02 am
por tonilogar
[Solucionado] Me salta error de permisos en metasploit
Bugs y Exploits
Dryken 7 6,747 Último mensaje 8 Agosto 2012, 13:23 pm
por Dryken
Problema con el delimitador de getline [SOLUCIONADO]
Programación C/C++
anonimo12121 3 3,615 Último mensaje 1 Abril 2013, 18:13 pm
por anonimo12121
Problema con cin.getline
Programación C/C++
erest0r 8 4,435 Último mensaje 24 Agosto 2013, 03:33 am
por erest0r
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines