• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 221
  • Last Modified:

Passing a string of user input to a function is blank

cout<<"Please enter a cities name in Ohio begining with the letter S"<<"\n";
      cin>>temp.city_name;
      getline(cin, temp.city_name);
      Search_hash_table(temp, count, vec1);
I am sorry to bother everyone but I am stuck. If I wanted to pass the input string of user input to the search_hash and temp is my struct isn't this how I would do it? The reason I am asking because the search function is outputing a blank city_name and I have even debugged by putting in a cout and it is blank. What the heck am I missing? Thanks
0
Corey_819
Asked:
Corey_819
1 Solution
 
HerrMyrslokCommented:
Well it could be because you're reading twice into temp.city_name.
when you do getline(cin, temp.city_name); you're overwriting whatever you received on the line above.
Try to remove either
cin>>temp.city_name;
or
getline(cin,temp.city_name);
0
 
MogalManicCommented:
What datatype is city_name?

Which should read in the name?
     cin>>temp.city_name;                      //Read in the name?
OR
     getline(cin, temp.city_name);            //Read in the name or the name plus newline or just newline
0
 
HendrikTYRCommented:
Hi,

If temp.city_name is a character array (char[]) then use :
cin>>temp.city_name;

... but if it is a "string" then use :
getline(cin, temp.city_name);

Don't put both lines in your code.

Regards
Hendrik
0
 
Corey_819Author Commented:
Sorry I wish I had more points to give you both. Why was some of the website c++ fourms using both cin and getline that is now why I am confused? Thank you so much.
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now