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;
}
相关推荐
xiangyun6138 分钟前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun611 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
白远山2 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
302wanger3 小时前
推荐下我的两个AI信息源
算法
索尔~古德曼3 小时前
CF——错题的集合
算法
fpcc3 小时前
计算机原理—构建过程中的分段分析
c++
xxwxx__3 小时前
C++ AVL 树深度剖析:平衡二叉搜索树原理、源码与面试考点
数据结构·c++
SL_staff3 小时前
JVS-Logic:从页面配置工具到企业级业务逻辑中枢的技术演进
java·算法·全栈
Escalating_xu3 小时前
【C语言常见概念】从第一行代码到字符串结束标志:一次打通编译、main、ASCII、转义字符与注释
c语言·c++
DevRay3 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言