C ++使用字符串和比较字符串的If-else语句

时间:2016-10-21 10:26:49

标签: c++ if-statement

当我输入(Im qwerty)为(y)时,程序显示“您的帐户已被停用”而不是“您的密码不正确”。我搜索了同样的问题,但 const。 char 并且使用 strcmp 对我来说太复杂了,我的导师也没有使用那种代码。我非常渴望知道我该怎样做才能使我的程序正确。 (提前Tnx)

#include <iostream>

using namespace std;

int main () {
string y;
cout << "Enter Icode: ";
cin >> y;


if (y == "Im qwerty")
    cout << "Your password is incorrect.";

else
    cout << "Your account has been deactivated.";



cin.get();
return 0;

}

1 个答案:

答案 0 :(得分:4)

问题是cin >> y;读取一个单词,而"Im qwerty"中有两个单词。换句话说,此程序始终输出"Your account has been deactivated.",因为一个单词永远不会匹配两个单词。

如果您想阅读多个单词,最简单的方法是阅读整行,例如:将cin >> y;替换为getline(cin, y);