这段代码是一个简单的用户登录/注册系统,其中currentUser指针用于记录当前登录的用户。当用户选择登录时,程序会提示输入用户名和密码,并在用户列表中查找是否存在该用户,如果存在则将currentUser指向该用户;当用户选择注册时,程序会提示输入新用户的信息,并将该用户添加到用户列表中。
完整代码如下:
```c++
#include
#include
#include
#include
using namespace std;
class User {
public:
string username;
string password;
};
vector users;
User* currentUser = nullptr;
void loadUsers() {
ifstream fin("users.txt");
if (!fin) {
cout << "Failed to open file: users.txt" << endl;
return;
}
while (!fin.eof()) {
User user;
fin >> user.username >> user.password;
if (user.username != "") {
users.push_back(user);
}
}
fin.close();
}
void saveUsers() {
ofstream fout("users.txt");
for (int i = 0; i < users.size(); i++) {
fout << users[i].username << " " << users[i].password << endl;
}
fout.close();
}
bool login() {
string username, password;
cout << "Username: ";
cin >> username;
cout << "Password: ";
cin >> password;
for (int i = 0; i < users.size(); i++) {
if (users[i].username == username && users[i].password == password) {
currentUser = &users[i];
return true;
}
}
cout << "Invalid username or password." << endl;
return false;
}
void registerUser() {
string username, password;
cout << "Username: ";
cin >> username;
for (int i = 0; i < users.size(); i++) {
if (users[i].username == username) {
cout << "Username already exists." << endl;
return;
}
}
cout << "Password: ";
cin >> password;
User user;
user.username = username;
user.password = password;
users.push_back(user);
saveUsers();
cout << "Registration successful." << endl;
}
int main() {
load