c++day7

cpp 复制代码
#include <iostream>
#include <vector>
#include <string>

using namespace std;

// 用户信息结构体
struct User {
    string username;
    string password;
};

// 全局用户数据库(实际应用应使用数据库)
vector<User> users;

// 注册功能实现
void registerUser() {
    User newUser;
    
    cout << "请输入用户名: ";
    cin >> newUser.username;
    
    // 检查用户名重复
    for (const auto& user : users) {
        if (user.username == newUser.username) {
            cout << "用户名已存在!" << endl;
            return;
        }
    }
    
    cout << "请输入密码: ";
    cin >> newUser.password;
    
    users.push_back(newUser);
    cout << "注册成功!" << endl;
}

// 登录功能实现
void loginUser() {
    string inputUsername, inputPassword;
    
    cout << "请输入用户名: ";
    cin >> inputUsername;
    cout << "请输入密码: ";
    cin >> inputPassword;
    
    for (const auto& user : users) {
        if (user.username == inputUsername && user.password == inputPassword) {
            cout << "登录成功!欢迎 " << inputUsername << endl;
            return;
        }
    }
    
    cout << "登录失败!用户名或密码错误" << endl;
}

// 主菜单界面
int main() {
    int choice;
    
    while (true) {
        cout << "
===== 本地用户系统 =====";
        cout << "
1. 注册
2. 登录
3. 退出";
        cout << "
请选择操作: ";
        
        cin >> choice;
        
        switch (choice) {
            case 1:
                registerUser();
                break;
            case 2:
                loginUser();
                break;
            case 3:
                cout << "退出系统" << endl;
                return 0;
            default:
                cout << "无效选项,请重新选择" << endl;
        }
    }
    
    return 0;
}
相关推荐
沛沛rh455 分钟前
力扣 42. 接雨水 - 高效双指针解法(Rust实现)详细题解
算法·leetcode·rust
Humbunklung7 分钟前
WMO 天气代码(Code Table 4677)深度解析与应用报告
开发语言·数据库·python
csbysj202014 分钟前
Linux 文件基本属性
开发语言
tankeven16 分钟前
HJ158 挡住洪水
c++·算法
梓䈑24 分钟前
【CMake】动静态库的安装 和 使用
c++·cmake
weixin_4492900125 分钟前
uv打包Python为exe步骤
开发语言·python·uv
Wect32 分钟前
LeetCode 190. 颠倒二进制位:两种解法详解
前端·算法·typescript
刘永鑫Adam36 分钟前
BiB | 蒋超实验室开发 Kun-peng(鲲鹏):实现可扩展且准确的泛域宏基因组分类
人工智能·算法·机器学习·分类·数据挖掘
Yupureki40 分钟前
《Linux网络编程》1.网络基础
linux·运维·服务器·c语言·网络·c++
ltl41 分钟前
SM3 vs SHA-256:两个哈希函数的设计哲学与性能实测
后端·算法