Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/01/2014, 12:00
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Mejorar estructuras y procesos?

un consejo :D
hay muchas formas de tomar el nombre :D
te explico
si tienes 3 strings así:
string nombre = "noname", apellido1="nofirstap", apellido2="nosecap";
y lo tomaras con cin así:
cin >> nombre;
cin >> apellido1;
cin >> apellido2;

hay 2 formas de tomar el nombre:
1º):
introduces 1º el nombre y pulsas enter después el 1º apellido y pulsas enter y despues el 2º apellido ¿No?

2º):
Pues lo anterior no es del todo correcto:
Puedes hacerlo asi:
Foo Bar Foobar y pulsar enter.¿Entendiste?
Pues si no te lo explico:
No hace falta ir pulsando enter, escribes el nombre el primer apellido y el 2º apellido separados por espacio y la magia esta echa.
cada espacio separa las variables correctamente.
Esperamos primero el nombre, después el 1º apellido y por ultimo el 2º apellido. :D

es como si fuera:
cin >> nombre >> apellido1 >> apellido2;

ahora bien.
Si lo que quieres es juntar todo en un solo string seria asi:
getline(cin, nombrecompleto);

eso guardaría "TODO" en un solo string ;)

getline() obtiene toda una linea de texto ;)

seria asi:

string nombrecompleto;
getline(cin, nombrecompleto);

tendrias en un solo string "Foo Bar Foobar"

Pero es cuestión de gustos: XD
incluso te permitiría tener todo en una sola linea: XD
dni, nombre, edad, dirección.....
No es muy ortodoxo XD
Pero piensatelo....¿Como vas obtener la direccion de una persona?
cada uno escribe diferente.
unos ponen C/ palote 32
otro puede que ponga:
Calle palote numero 32

Para estas cosas getline te puede ser de mas ayuda que cin >>
si intentas guardar: "pepino fresco" en un string con cin
veras que solo le puedes meter pepino, y entonces te percataras que el pepino ya no esta fresco si lo imprimes XDD