[ Foro de C++ ]
Buenas! alguien puede ayudarme? quiero ingresar en el vector n nombres, pero no me deja escribir el primer nombre.
#include<iostream>
#include<string>
using namespace std;
int main(){
int i=0, n=2;
string nombre[20];
string apellido[20];
cout<<"Ingrese la cantidad de personas: ";
cin>>n;
cout<<endl;
for (i=0; i<n; i++){
cout<<"\n ingrese su nombre: ";getline(cin,nombre[i]);cout<<endl;
}
return 0;
}
No deberías mezclar "getline" con "cin" convencionales.
Hay varias soluciones, como vaciar el buffer de teclado tras leer cada número, o leer como cadena y luego convertir a número.
se puede "mezclar" perfectamente getline con cin "convencionales"...
No se debe (sin precaución). Si el "cin" lee números, el salto de línea final queda en el buffer del teclado y el "getline" siguiente lee una cadena vacía.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)