C 如何检查多个输入语句的首次输入

C++ How to check first input of a multiple input statement?

本文关键字:输入 语句 何检查 检查      更新时间:2023-10-16

这是代码:

while (productNumber != 0)
    {
        cin >> productNumber >> amount;
        item.Initialize(productNumber, description, price, taxable);
        item = list.GetItem(item, found);
    }

我有更多的代码,但我认为这足以解决问题,让我知道是否不是。目的是在不输入量的情况下退出时循环。例如,我希望用户能够输入productNumber,然后进入空间,然后输入金额。我希望用户能够多次执行此操作。但是,当用户按0输入时,我希望循环退出时,而不必按另一个0并再次输入。预先感谢。

您需要以两个步骤进行输入。

替换

cin >> productNumber >> amount;

cin >> productNumber;
if(productNumber == 0) break;
cin >> amount;

您的代码可以如下改进。

cin >> productNumber; // first read product number
while (productNumber != 0)
{
    cin >> amount; // read corresponding amount.
    item.Initialize(productNumber, description, price, taxable);
    item = list.GetItem(item, found);
    cin >> productNumber; // read product number again
}