当前位置: 首页 > news >正文

智能指针和STL库学习思维导图和练习

 思维导图:

 

#include <iostream>
#include <vector>
#include <string>
using namespace std;

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

vector<User> users; // 存储所有注册用户

// 使用迭代器查找用户名是否存在
vector<User>::iterator findUser(const string& username) {
    auto it = users.begin();
    for (; it != users.end(); ++it) {
        if (it->username == username) {
            return it;
        }
    }
    return users.end(); // 未找到返回结束迭代器
}

void registerUser() {
    User newUser;
    cout << "请输入用户名: ";
    cin >> newUser.username;

    // 使用迭代器查重
    if (findUser(newUser.username) != users.end()) {
        cout << "用户名已存在!" << endl;
        return;
    }

    cout << "请输入密码: ";
    cin >> newUser.password;
    users.push_back(newUser); // 使用vector的push_back添加元素
    cout << "注册成功!" << endl;
}

void loginUser() {
    string username, password;
    cout << "请输入用户名: ";
    cin >> username;
    cout << "请输入密码: ";
    cin >> password;

    // 使用迭代器遍历验证
    auto it = users.begin();
    for (; it != users.end(); ++it) {
        if (it->username == username && it->password == password) {
            cout << "登录成功!" << endl;
            return;
        }
    }
    cout << "用户名或密码错误!" << endl;
}

int main() {
    int choice;
    do {
        cout << "\n1. 注册\n2. 登录\n3. 退出\n请选择操作: ";
        cin >> choice;
        
        switch (choice) {
            case 1:
                registerUser();
                break;
            case 2:
                loginUser();
                break;
            case 3:
                cout << "系统已退出。" << endl;
                break;
            default:
                cout << "无效选项,请重新输入!" << endl;
        }
    } while (choice != 3);

    return 0;
}

相关文章:

  • 4.7学习总结 java集合进阶
  • 信息系统项目管理师-第十二章-项目质量管理
  • 搭建复现环境
  • 06.unity 游戏开发-unity2D工程的创建及使用方式和区别
  • 基础知识补充篇:认识区块链浏览器
  • 【C++算法】49.分治_归并_计算右侧小于当前元素的个数
  • 免费Deepseek-v3接口实现Browser-Use Web UI:浏览器自动化本地模拟抓取数据实录
  • 如何为多个条件构建 Bson 过滤器
  • 蓝桥杯python组备赛(记录个人模板)
  • 【实践总结】如何编写“多角色适配”的高质量技术文档?
  • HTTP 教程 : 从 0 到 1 全面指南 教程【全文三万字保姆级详细讲解】
  • DiffSynth-Studio-视频的风格转换 CUDA日志
  • OpenCV--图像边缘检测
  • 临床 不等于 医学-《分析模式》漫谈52
  • 企业落地AI难的隐形枷锁-正是数据问题
  • C 变量:深入解析与高效使用
  • 《基于 std::vector 的简单本地注册登录系统设计与实现》
  • 用claude3.7,不到1天写了一个工具小程序(11个工具6个游戏)
  • 在PowerBI中通过比较日期实现累加计算
  • Python基础——Pandas库
  • 网络域名也可以用中文名称来命名/seo优化人员
  • 临朐门户网站/下载百度2023最新版安装
  • 沈阳制作公司网站/新手怎么做网络推广
  • 苏州网站建设kgu/其中包括
  • 乌兰浩特建设网站/苏州旺道seo
  • wordpress子目录 多站点/360seo