[SOLUCIONADO] me salta el getline

Iniciado por elkiy, 19 Febrero 2013, 22:53 PM

0 Miembros y 1 Visitante están viendo este tema.

engel lex

CitarNo, 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

Cita de: amchacon en 20 Febrero 2013, 01:27 AM
PD: Repito, no tienes que usar todos esos "using std::". Basta con que pongas uno genérico:

Código (cpp) [Seleccionar]
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...
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

Cita de: engelx en 20 Febrero 2013, 03:30 AM
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

Stakewinner00

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


por esto
using namespace std;

elkiy

Cita de: Stakewinner00 en 21 Febrero 2013, 20:12 PM
una pregunta, por que no cambias esto
using std::cout;
using std::cin;
using std::endl;


por esto
using namespace std;

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

Stakewinner00

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.

amchacon

Cita de: Stakewinner00 en 21 Febrero 2013, 20:21 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).
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

ya lo sé, por eso digo que es igual. Pero en lo del using namespace no hay otra.

rir3760

Cita de: Stakewinner00 en 21 Febrero 2013, 20:12 PMuna pregunta, por que no cambias esto
using std::cout;
using std::cin;
using std::endl;


por esto
using namespace std;

+

Cita de: Stakewinner00 en 21 Febrero 2013, 20:55 PMya 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
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

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.

leosansan

#19
Cita de: 1996marioful 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

Problemas de buffer con \n.

Te los "comes" con un while, o su función equivalente en C++:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstdio>
using std::cout;
using std::cin;
using std::endl;

#include <string>
using std::getline;
using std::string;

int main()
{
int numero1;
int numero2;
double numero3;
string nombre;

cout << "Bienvenido, escriba 1 numero entero\n";
cin >> numero1;
cout << "Bien! ahora escriba un numero con decimales!\n";
cin >> numero3;
cout << "Escriba un numero entero\n";
cin >> numero2;
while (getchar ()!='\n');
cout << "Escribe tu nombre y apellido!";
while (getchar ()!='\n');
cout << "\nBienvenido: " << nombre << endl;
cout << "OK, ingreso los numeros: " <<numero1 << " " << numero3 << " " << numero2;
cout << "hagamos unas cuentas...";
cout << numero3 << "es igual a " << numero1 << " dividido " << numero2 << endl;
numero3 = static_cast <double> (numero1) / numero2;
cout << "tomando enteramente seria: " << numero1 / numero2;
cout << "tomando con static es: " << numero3;
cin.get();
return 0;
}

Saluditos!.