|
|
3 months ago | |
|---|---|---|
| .. | ||
| README.md | 3 months ago | |
README.md
teamwork-project
项目简介
这是一个面向小学、初中和高中学生的数学学习软件,采用图形化界面操作,提供数学题目生成、在线考试、成绩记录等功能。项目基于C++和Qt框架开发,实现了完整的用户注册、登录、考试和成绩管理流程。
项目特点
1.多学段支持:覆盖小学、初中、高中三个学段的数学题目
2.安全认证:支持用户注册、登录、密码修改功能
3.智能出题:根据学段自动生成相应难度的数学题目
4.实时评分:自动批改试卷并显示详细成绩
5.数据持久化:本地文件存储用户数据和考试记录
6.邮箱验证:支持真实邮箱验证码发送功能
功能模块
用户管理
1.用户注册:邮箱验证、密码强度校验
2.用户登录:安全的身份认证
3.密码修改:支持在线修改密码
考试系统
1.题目生成:根据学段生成不同难度的选择题
2.考试界面:清晰的题目展示和选项选择
3.进度跟踪:实时显示答题进度
4.成绩统计:自动计算得分和正确率
数据管理
1.用户数据:本地文件存储用户信息
2.考试记录:保存历史考试成绩
3.题目文件:导出生成的题目试卷
技术架构
前端界面
Qt Widgets:跨平台的图形界面框架
响应式设计:自适应不同屏幕尺寸
美观UI:现代化的界面风格设计
后端逻辑
C++11/14:核心业务逻辑实现
面向对象设计:模块化的类结构
跨平台支持:Windows/Linux/macOS兼容
核心类说明
前端类
MainWindow:主窗口控制器
LoginWidget:登录界面
RegisterWidget:注册界面
MainMenuWidget:主菜单界面
ExamWidget:考试界面
ResultWidget:成绩界面
后端类
User:用户信息管理
UserManager:用户认证和注册
QuestionGenerator:题目生成器
FileSaver:文件存储管理
项目结构
teamwork-project/
├── src/ # 源代码目录
│ ├── frontend/ # 前端代码目录
│ │ ├── mathlearningApp.pro # Qt项目配置文件
│ │ ├── main.cpp # 程序入口
│ │ ├── mainwindow.h/cpp # 主窗口控制器
│ │ ├── loginwidget.h/cpp # 登录界面
│ │ ├── registerwidget.h/cpp # 注册界面
│ │ ├── mainmenuwidget.h/cpp # 主菜单界面
│ │ ├── examwidget.h/cpp # 考试界面
│ │ └── resultwidget.h/cpp # 成绩界面
│ └── backend/ # 后端代码目录
│ ├── user.h/cpp # 用户类
│ ├── usermanage.h/cpp # 用户管理
│ ├── questiongenerator.h/cpp # 题目生成器
│ └── filesaver.h/cpp # 文件存储
└── doc/ # 文档目录
└── README.md # 项目说明
编译运行
双击.exe文件运行
环境要求
Qt 5.12 或更高版本
C++11 兼容编译器
CMake 3.10 或更高版本
使用说明
首次使用
运行程序,进入登录界面
点击"注册新账号"创建用户账户
输入邮箱获取验证码完成注册
设置符合要求的密码(6-10位,包含大小写字母和数字)
参加考试
登录成功后进入主菜单
选择考试年级和题目数量(5-30题)
点击"开始考试"进入考试界面
逐题作答,可前后翻页检查
提交后查看成绩和正确率
架构设计说明
前后端分离
前端:负责UI展示、用户交互、界面逻辑
后端:负责业务逻辑、数据处理、算法实现
通信方式:通过类接口和信号槽机制进行通信
设计模式
MVC模式:清晰的数据-视图-控制器分离
观察者模式:通过Qt信号槽实现组件间通信
单例模式:用户管理等核心服务
问题反馈
如在使用过程中遇到问题,请联系开发团队或提交Issue。