使用 cin 检查输入“0”(零)

rot*_*ice 1 c++

我试图有一个程序循环,接受输入并产生输出,直到用户输入“0”作为输入。

问题是,我的程序接受两个输入值,如下所示:

cin >> amount >> currency;
Run Code Online (Sandbox Code Playgroud)

所以,我试图有一个像这样的 while 语句:

while (amount != 0 && currency != "") {
    cin >> amount >> currency;
    cout << "You entered " << amount << " " << currency << "\n";
}
Run Code Online (Sandbox Code Playgroud)

但是,while 语句始终执行,即使我0作为输入输入。

我如何编写程序使其接受两个值作为输入,除非用户输入 0,在这种情况下它会终止?

Cub*_*bbi 5

&&如果左侧为假,您可以使用右侧不执行的事实:

#include <iostream>
#include <string>
int main()
{
    int amount;
    std::string currency;
    while (std::cin >> amount && amount != 0 && std::cin >> currency)
    {
        std::cout << "You entered " << amount << " " << currency << "\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

试运行:https : //ideone.com/MFd48