В последнее время я работаю над назначением корзины покупок и не понимаю, почему этот код ниже не работает.Назначение корзины, концепции на getline()
Мне нужно написать код, который будет выводить имя, стоимость и количество элементов для трех элементов без использования массивов.
В конце максимум трех элементов я должен отобразить общую стоимость предметов. В настоящее время я застреваю, потому что после того, как я добавлю второй элемент, кажется, что программа не запрашивает первый вход (имя элемента). Вот код:
#include <iostream>
int main() {
int total;
std::cout << "Item name:";
std::string itemName;
std::getline(std::cin,itemName);
std::cout << "Cost(in cents):";
int cost;
std::cin >> cost;
std::cout << "Quantity:";
int quantity;
std::cin >> quantity;
std::cout << "Do you want to add more items? (Y/N)";
char option;
std::cin >> option;
if (option == 'y') {
std::cout << "Item name:";
std::string itemName2;
std::getline(std::cin,itemName2);
std::cout << "Cost(in cents):";
int cost2;
std::cin >> cost2;
std::cout << "Quantity:";
int quantity2;
std::cin >> quantity2;
std::cout << "Do you want to add more items? (Y/N)";
char option2;
std::cin >> option2;
if (option2 == 'y') {
std::cout << "Item name:";
std::string itemName3;
std::getline(std::cin,itemName3);
std::cout << "Cost(in cents):";
int cost3;
std::cin >> cost3;
std::cout << "Quantity:";
int quantity3;
std::cin >> quantity3;
total = cost*quantity + cost2*quantity2 + cost3*quantity3;
std::cout << "Total value:" << total;
}
else {
total = cost*quantity + cost2*quantity2;
std::cout << "Total value:" << total;
}
}
else {
total = cost*quantity;
std::cout << "Total value:" << total;
}
return 0;
}
После ввода ввода «у» после каждого входа элемента, код будет каким-то образом пропустить мой вход для ITEMNAME и вывода «Стоимость (в центах):» вместе с «Имя элемента:» в той же линии.
Я действительно думаю, что это как-то связано с функцией getline(), но я точно не знаю. Любая помощь приветствуется.
возможно дубликат [GetLine не задаёте?] (Http://stackoverflow.com/questions/6642865/getline-not-asking- для ввода) – interjay