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;
}
相关推荐
一木 之林8 分钟前
五、C++新特性、关键字与编译原理
java·jvm·算法
路多辛9 分钟前
全能型 Go Agent 框架 covonaut v1.0.8 发布:新增行内补全与多后端可观测性
开发语言·golang·agent
大模型丫丫11 分钟前
FastAPI 入门指南:从零开始构建高性能 Python API
开发语言·python·fastapi
汉克老师13 分钟前
CSP-J 初赛(以满分为目标):第四课《看懂计算机到底在算什么!——C++变量、表达式和运算符 》
c++·小学生·学c++编程
wuyk55522 分钟前
《WiFi 嵌入式物联网开发全套实战》| 第01章 WiFi整体架构详解:BSS/ESS/AP/STA模式彻底区分
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
小小龙学IT25 分钟前
zstd(Zstandard)开源压缩库实战指南:让数据又快又小
c++·开源
wuyk55528 分钟前
第六章:CAN 调试工具、抓包分析、全套故障排查 + CAN-FD 进阶拓展
开发语言·stm32·单片机
2501_915106321 小时前
Swift 开发环境搭建指南:三条路径按目标对号入座
开发语言·vscode·ios·objective-c·个人开发·swift·敏捷流程
小小龙学IT1 小时前
GLM 开源图形学数学库深度解析:从向量、矩阵到四元数的完整实战
c++·矩阵·开源·mfc
Mr. zhihao1 小时前
线上卡顿排查决策手册:场景 × 命令 × 现象 × 调整方案
java·开发语言·jvm