请你用c++编写下面题目:编写一个程序,在已设置好若干个用户名/密码后,通过输入用户名,查找对应的口令,连续执行这一过程直到用户输入结束标记“end”为止。要求: 1. 设计一个User类,成员变量包含用户名和密码,成员函数自定义,需完成初始化用户名、密码,查找用户名和查找密码的功能。 2. 在主函数中设计一个对象数组,当用户输入一个用户名后,在对象数组中查找,找到后输出对应的密码,找不到时输出相应的提示信息。 输入 第一行任意组用户名和密码,以空格分隔,用户名和密码都不含空格 第二行任意个用户输入的用户名用以测试程序,以空格分隔,以字符串end为结束。 输出 用户名输入正确则输出密码,用户错误时给出提示,输出格式参照输出样例。
时间: 2024-03-02 13:50:36 浏览: 111
以下是C++代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
// 用户类
class User {
private:
string username; // 用户名
string password; // 密码
public:
// 构造函数
User(string name, string pwd) : username(name), password(pwd) {}
// 查找用户名是否匹配
bool matchUsername(string name) const {
return username == name;
}
// 查找密码是否匹配
bool matchPassword(string pwd) const {
return password == pwd;
}
// 获取密码
string getPassword() const {
return password;
}
};
int main() {
const int MAX_USERS = 10; // 最大用户数
User users[MAX_USERS] = { // 用户数组
User("user1", "pwd1"),
User("user2", "pwd2"),
User("user3", "pwd3"),
User("user4", "pwd4"),
User("user5", "pwd5"),
User("user6", "pwd6"),
User("user7", "pwd7"),
User("user8", "pwd8"),
User("user9", "pwd9"),
User("user10", "pwd10")
};
string username; // 用户名
string password; // 密码
string input; // 用户输入
bool found = false; // 是否找到用户名
// 输入用户名和密码
cout << "请输入用户名和密码(用户名和密码之间用空格分隔):" << endl;
for (int i = 0; i < MAX_USERS; i++) {
cin >> username >> password;
users[i] = User(username, password);
}
// 查找用户名并输出密码
cout << "请输入用户名(以end结束):" << endl;
while (cin >> input) {
if (input == "end") {
break;
}
found = false;
for (int i = 0; i < MAX_USERS; i++) {
if (users[i].matchUsername(input)) {
cout << "请输入密码:" << endl;
cin >> input;
if (users[i].matchPassword(input)) {
cout << "密码正确,您的密码是:" << users[i].getPassword() << endl;
} else {
cout << "密码错误!" << endl;
}
found = true;
break;
}
}
if (!found) {
cout << "用户名不存在!" << endl;
}
cout << "请输入用户名(以end结束):" << endl;
}
return 0;
}
```
输入示例:
```
user1 pwd1
user2 pwd2
user3 pwd3
user4 pwd4
user5 pwd5
user6 pwd6
user7 pwd7
user8 pwd8
user9 pwd9
user10 pwd10
user3
请输入密码
pwd3
密码正确,您的密码是:pwd3
user11
用户名不存在!
user8
请输入密码
pwd9
密码错误!
user2
请输入密码
pwd2
密码正确,您的密码是:pwd2
end
```
输出示例:
```
请输入用户名和密码(用户名和密码之间用空格分隔):
请输入用户名(以end结束):
请输入密码:
密码正确,您的密码是:pwd3
请输入用户名(以end结束):
用户名不存在!
请输入用户名(以end结束):
请输入密码:
密码错误!
请输入用户名(以end结束):
请输入密码:
密码正确,您的密码是:pwd2
请输入用户名(以end结束):
```
阅读全文