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;
}
相关推荐
DoraBigHead1 小时前
小哆啦解题记——两数失踪事件
前端·算法·面试
不太可爱的大白1 小时前
Mysql分片:一致性哈希算法
数据库·mysql·算法·哈希算法
AI+程序员在路上1 小时前
Qt6中模态与非模态对话框区别
开发语言·c++·qt
Tiandaren5 小时前
Selenium 4 教程:自动化 WebDriver 管理与 Cookie 提取 || 用于解决chromedriver版本不匹配问题
selenium·测试工具·算法·自动化
nbsaas-boot6 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
岁忧6 小时前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
chao_7896 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
风无雨6 小时前
GO 启动 简单服务
开发语言·后端·golang
斯普信专业组6 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang
秋说8 小时前
【PTA数据结构 | C语言版】一元多项式求导
c语言·数据结构·算法