Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Login

C++ 控制台登录/注册程序,支持账号密码验证、新用户注册、Tab 切换焦点、密码掩码回显,登录成功后播放终端进度条动画。

功能

  • 账号密码登录,验证通过后播放进度条动画
  • 注册新账号,自动查重,写入 data/users.txt
  • Tab 键切换焦点(输入账号 / 输入密码 / 登录按钮 / 注册按钮)
  • 密码输入掩码回显
  • 错误信息统一在底部显示,不破坏界面布局
  • 登录/注册操作自动记录日志到 logs/login.log
  • 首次运行自动创建 data/ 和 logs/ 目录,零手动配置

界面预览

登录:

    请输入账号:________________________
                
    请输入密码:________________________
                

              登录        注册           

注册:

    请输入账号:________________________

    请输入密码:________________________
                

                  确认注册               

登录成功后:

        [                    ] 0%
        [#####               ] 25%
        [##########          ] 50%
        [###############     ] 75%
        [####################] 100%
               登录成功!

             按任意键继续...

每 0.1 秒增长一格 #(5%),全程 2 秒跑完。

快速开始

git clone https://github.com/DenJeb/cpp-Login.git
cd cpp-Login
mkdir build && cd build
cmake -G "MinGW Makefiles" ..
cmake --build .
cd ..
./login.exe

需要 CMake ≥ 3.16,g++ 支持 C++17(仅 Windows,依赖 <windows.h> 和 <conio.h>)。

或直接用 g++:g++ -std=c++17 main.cpp src/ui.cpp src/input.cpp src/userStore.cpp src/app.cpp src/logger.cpp -I include -o login.exe

项目结构

Login/
├── CMakeLists.txt         # CMake 构建配置
├── README.md              # 项目说明
├── LICENSE                # MIT License
├── main.cpp               # 入口
├── include/
│   ├── app.h             # App 类 — 状态机,管理全部状态和事件循环
│   ├── input.h           # InputField 类 — 输入框(回显、校验、退格)
│   ├── logger.h          # Logger 静态类 — 写入 logs/login.log
│   ├── ui.h              # Mode/Focus 枚举 + TAB_ORDER 数组 + 坐标常量 + UI 函数声明
│   └── userStore.h       # UserStore 类 — 用户数据持久化
├── src/
│   ├── app.cpp           # 事件分发 + 登录/注册逻辑
│   ├── input.cpp         # 按键处理
│   ├── logger.cpp        # 时间戳生成 + 文件写入
│   ├── ui.cpp            # 界面绘制(inputFields/login/register)+ 光标控制 + 焦点切换
│   └── userStore.cpp     # 文件读写 + 自动创建 data/ 目录和 users.txt
├── data/
│   └── users.txt         # 账号密码存储(自动创建,每行 "账号 密码")
├── logs/
│   └── login.log          # 登录/注册日志(自动创建)
└── .gitignore

操作说明

按键 作用
字母/数字 输入
Backspace 删除
Tab 切换焦点
Enter 焦点在按钮上时生效:登录按钮 = 提交登录,注册按钮 = 切换注册模式

About

C++ 控制台登录/注册程序,支持账号密码验证、新用户注册、Tab 切换焦点、密码掩码回显,登录成功后播放终端进度条动画。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages