You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
teamwork-project/doc/README.md

4.1 KiB

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。