webForumDet fria alternativet

Ignorerar inmatning?

2 svar · 766 visningar · startad av SilvioF

SilvioFMedlem sedan juni 2000547 inlägg
#1

Nu behöver jag ännu mera hjälp. :/

Jag har följande kod:

// Get the values from the user.
cout << "Enter item ID: ";
cin >> I->ItemNum;
cout << "Enter name of item: ";
getline(cin, I->ItemName);
cout << "Enter price of the item: ";
cin >> I->ItemPrice;

Detnna funkar nästan som den skall.
Problemet jag har är att av någon anledning så verkar den hoppa över getline(cin, I->ItemName);.
Beror detta på att jag har en cin ovanför som den kollar efter \n i eller?

Jag kan visserligen lösa det genom att använda mig av cin >> I->ItemName;, men då kan jag endast använda ett sammanhängande ord som namn och inte flera ord (som jag vill göra). Det är anledningen till att jag vil lanvända getline(cin, I->ItemName); istället.

Hoppas någon har något snabbt och bra svar åt mig. :)

LedelMedlem sedan dec. 2004736 inlägg
#2
cin.ignore(1, '\n');

Efter att du läser in till I->ItemNum kommer att ignorera nästa tecken (vilket är ett enterslag). Då får du läsa in vilken text du vill till I->ItemName!

SilvioFMedlem sedan juni 2000547 inlägg
#3

Tack och bock. Fungerar alldeles utmärkt nu. :)

139 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)