尝试使用密码验证方法以允许用户使用我的程序。
我想知道有人会如何实现这样的代码,允许程序比较两个字符串,记下所有字母和数字以确保所有内容匹配,然后允许用户在成功输入后访问程序控件密码。
因此,例如,如果密码是" h3llo"和某人输入"他"程序将输出一条错误消息,指出密码不正确。
以下是我的开始:
void checkPassword() {
cout << "Enter password: ";
string password = "H3110W0r1d";
int length = password.length();
int i;
string input;
cin >> input;
for (i = 0; i < length; i ++) {
if ((input[i].compare(length[i]))) == 1) {
if ((input[i].compare(length[i])) == 0) {
cout << "Error! Wrong password!";
} else {
cout << "Welcome!";
}
}
我已经尝试了很多不同的方法,但是,我似乎无法让它发挥作用。对我做错了什么的帮助?
答案 0 :(得分:1)
只需逐一比较。
void checkPassword() {
cout << "Enter password: ";
string password = "H3110W0r1d";
int length = password.length();
int i;
string input;
bool ok = true;
cin >> input;
if (input.length() != password.length()) {
ok = false;
} else {
for (i = 0; i < length; i ++) {
if (input[i] != password[i]) {
ok = false;
break;
}
}
}
if (ok) {
cout << "Welcome!";
} else {
cout << "Error! Wrong password!";
}
}
或更简单
void checkPassword() {
cout << "Enter password: ";
string password = "H3110W0r1d";
string input;
cin >> input;
if (input == password) {
cout << "Welcome!";
} else {
cout << "Error! Wrong password!";
}
}