Buenas, la solución correcta es:
El '\n' no hace falta porque ya es el delimitador por defecto.
El problema de esto esque hagas:
El cin lee el número, pero se deja el salto de línea. Eso hace que el getline solo lea eso y acabe.
La solución es descartar el salto de línea y seguir:
Código (cpp) [Seleccionar]
string nombre;
getline(cin,nombre);
El '\n' no hace falta porque ya es el delimitador por defecto.
El problema de esto esque hagas:
Código (cpp) [Seleccionar]
int a;
string nombre;
cin>>a;
getline(cin,nombre);
El cin lee el número, pero se deja el salto de línea. Eso hace que el getline solo lea eso y acabe.
La solución es descartar el salto de línea y seguir:
Código (cpp) [Seleccionar]
int a;
string nombre;
cin>>a;
cin.ignore(); // descartar el salto de linea
getline(cin,nombre);