Я использую C ++ для этой программы, но каждый раз, когда программа достигает getline(cin, orders)
, она завершается с "Process finished with exit code 11"
. Я не могу понять, почему getline()
не читает строку. Я пробовал использовать cin.ignore();
, но это не сработало.
Это часть моего кода:
while (cin >> tableNum){
cin >> input;
if (input[0] == 'P'){
partyNum = stoi(input.substr(1));
if (partyNum > tables[tableNum].getMaxSeats())
cout << "Sorry, max " << tables[tableNum].getMaxSeats() << " in Table " << tableNum << "!" << endl;
else if (tables[tableNum].getStatus() == IDLE){
tables[tableNum].setPartyNum(partyNum);
tables[tableNum].setStatus(SEATED);
cout << "Party of " << partyNum << " assigned to Table " << tableNum << endl;
continue;
}
else
cout << "Table " << tableNum << " already occupied!" << endl;
}
if (input == "O"){
cout << "hi";
getline (cin, orders);
if (tables[tableNum].getStatus() == SEATED) {
orderItems = tables[tableNum].setPartyOrder(orders);
cout << orderItems << " items ordered for Table " << tableNum << endl;
}
Вот пример экрана ввода и вывода:
1 P2
Party of 2 assigned to Table 1
1 O C3
hi
Process finished with exit code 11