和表现得像OR?

J S*_*J S 0 c++

我正在评估输入并将其结果(由空格分隔)分配给两个变量.不幸的是,如果用户=="用户"或密码=="通过",它似乎打破了循环!

    #include <iostream>
    #include <string>

    using namespace std;

    int main()
    {
        string username;
        string password;
        do {
            cout<<"Please enter the correct username and password.\n";
            cin>>username>>password;
            cin.ignore();
        } while (username != "user" && password != "pass");
        cout<<"username and password correct";
    }
Run Code Online (Sandbox Code Playgroud)

jua*_*nza 8

你真的需要一个OR:

while (username != "user" || password != "pass");
Run Code Online (Sandbox Code Playgroud)

这不是C++问题,而是布尔逻辑问题.以德摩根定律为例.

  • 信誉最容易获得:-) (4认同)