My code is doing fine, but when I change cin>>new_person.address
into getline
, I am having bugs when I run it.
#include <iostream>
using namespace std;
struct person
{
string name;
string address;
int phone_number;
};
person getNewPerson()
{
person new_person;
cout<<"Enter a name ";
cin>>new_person.name;
cout<<"Enter an address ";
getline(cin, new_person.address, '\n');
cout<<"Enter a phone number ";
cin>>new_person.phone_number;
return new_person;
}
person printPerson(person a_person)
{
cout<<"This person name is: "<<a_person.name<<endl;
cout<<"His address is: "<<a_person.address<<endl;
cout<<"His phone number is: "<<a_person.phone_number<<endl;
}
int main()
{
person my_person=getNewPerson();
printPerson(my_person);
}
When I use getline(cin, new_person.address, '\n');
it skips that statement for no reason and goes to the next one. Dunno what is going on, copy and paste the code please and you will understand.