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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# 数学学习软件使用说明
## 项目概述
数学学习软件是一款专为不同学习阶段学生设计的数学练习工具,支持小学、初中和高中三个难度级别的数学题目练习。软件采用用户注册登录系统,通过邮箱验证确保用户身份安全。
## 系统要求
- **操作系统**: Windows 7及以上版本
- **开发环境**: C++ (兼容C++98标准)
- **依赖组件**:
- Windows PowerShell (用于邮件发送)
- curl (可选,备用邮件发送方案)
## 功能特点
### 1. 用户管理
- **用户注册**: 通过邮箱验证码注册账号
- **密码安全**: 密码要求6-10位, 包含大小写字母和数字
- **登录验证**: 安全的用户身份验证
### 2. 题目生成
- **小学题目**: 基础四则运算, 支持2-3个操作数
- **初中题目**: 平方、开方运算
- **高中题目**: 三角函数计算
### 3. 答题功能
- **题目数量**: 可自定义10-30道题目
- **实时反馈**: 即时显示答题结果
- **进度跟踪**: 显示答题进度和得分
## 安装与配置
### 1. 编译说明
项目使用标准C++编写, 可在支持Windows API的开发环境中编译:
```bash
g++ -o MathLearning.exe *.cpp -luser32 -lgdi32
```
### 2. 邮件配置
如需使用邮件功能, 需要配置QQ邮箱SMTP服务:
1. 在 `EmailSender.cpp` 中修改发件人信息:
```cpp
const std :: string sender_email = "your_email@qq.com" ;
const std :: string sender_password = "your_authorization_code" ;
```
2. 获取QQ邮箱授权码:
- 登录QQ邮箱 → 设置 → 账户
- 开启POP3/SMTP服务
- 生成授权码
## 使用指南
### 1. 启动程序
运行编译后的可执行文件,进入登录界面。
### 2. 用户注册
1. 点击"注册"按钮
2. 输入有效的邮箱地址
3. 点击"获取验证码",查收邮件中的验证码
4. 设置符合要求的密码( 6-10位, 包含大小写字母和数字)
5. 确认密码并完成注册
### 3. 用户登录
1. 输入已注册的邮箱和密码
2. 点击"登录"进入题目选择界面
### 4. 选择题目类型
- **小学题目**: 适合小学生的基础数学运算
- **初中题目**: 包含平方和开方运算
- **高中题目**: 三角函数计算
### 5. 设置题目数量
在10-30道题目范围内选择练习数量。
### 6. 答题界面
- 阅读题目并选择正确答案
- 点击"下一题"继续答题
- 完成所有题目后查看成绩报告
## 文件结构
```
项目根目录/
├── main.cpp # 程序入口
├── LoginWindow.h/cpp # 登录窗口
├── RegisterWindow.h/cpp # 注册窗口
├── SelectionWindow.h/cpp # 题目选择窗口
├── QuestionWindow.h/cpp # 答题窗口
├── User.h/cpp # 用户类
├── UserManager.h/cpp # 用户管理
├── Question.h/cpp # 题目类
├── QuestionGenerator.h/cpp # 题目生成器
├── EmailSender.h/cpp # 邮件发送器
└── data/
└── users.txt # 用户数据存储
```
## 技术特性
### 1. 邮件发送
- 支持PowerShell和curl两种发送方式
- 自动故障转移机制
- 详细的发送日志记录
### 2. 题目生成算法
- 智能避免重复题目
- 考虑运算优先级
- 确保题目难度适中
### 3. 用户界面
- 基于Windows API的本地化界面
- 支持中文显示
- 响应式窗口设计
## 故障排除
### 常见问题
1. ** 邮件发送失败**
- 检查邮箱配置是否正确
- 确认网络连接正常
- 查看email_send_log.txt日志文件
2. ** 程序无法启动**
- 确认系统满足要求
- 检查依赖组件是否安装
3. ** 题目显示异常**
- 确保编译环境支持中文字符集
- 检查控制台编码设置
### 日志文件
程序生成以下日志文件用于故障诊断:
- `email_send_log.txt` - 邮件发送记录
- 控制台输出 - 题目生成和答题详情
## 开发说明
### 扩展功能
- 可添加更多题目类型
- 支持用户成绩统计
- 增加题目难度分级
### 自定义配置
开发者可以通过修改相应头文件中的常量来调整:
- 题目数量范围
- 密码复杂度要求
- 邮件发送配置
## 版权信息
本软件为教育用途开发,遵循相关开源协议。
---
*最后更新: 2024年*