我正在学习使用C ++,我决定创建一个密码程序,要求用户输入密码,并将用户输入与密码进行比较并返回错误或正确的密码。由于某种原因,这个程序总是返回错误,我不知道为什么。它必须与比较字符串有关,但我不确定。
#include <iostream>
#include <string>
using namespace std;
int main(){
string pass = "password";
string input;
cout << "What is your password: ";
cin >> input;
if (input==pass){
cout << "Correct" << endl;
}else{
cout << "Wrong" << endl;
}
return 0;
}
我希望得到一些程序员的帮助,他们对C ++更加精通,因为我刚从Python转移到C ++并且过渡有点不稳定。
答案 0 :(得分:1)
1.您可以使用比较功能,查看:http://www.cplusplus.com/reference/string/string/compare/
2.你应该在线调试if(input == pass){ 打印传递和输入并检查它们是否相同。
答案 1 :(得分:1)
我发现我需要:
#include <string>
获取插入运算符(对于cin >> input;
)和std :: string ::运算符==()(对于if (input==pass)
)的定义。一旦我这样做,它在Visual C ++中运行良好。
您使用的是哪种编译器?