当我输入(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;
}
答案 0 :(得分:4)
问题是cin >> y;
读取一个单词,而"Im qwerty"
中有两个单词。换句话说,此程序始终输出"Your account has been deactivated."
,因为一个单词永远不会匹配两个单词。
如果您想阅读多个单词,最简单的方法是阅读整行,例如:将cin >> y;
替换为getline(cin, y);
。