diff --git a/doc/math_test_genarator.md b/doc/math_test_genarator.md new file mode 100644 index 0000000..ead849a --- /dev/null +++ b/doc/math_test_genarator.md @@ -0,0 +1,126 @@ +# 中小学数学卷子自动生成程序说明文档 + +## 📌 功能概述 +本程序为命令行工具,支持以下功能: + +1. **多账户登录**:预设小学/初中/高中各3个账户(用户名如"李四2",密码统一为"123")。 + +2. **题目生成**: + - 按类型生成(小学/初中/高中) + - 题目数量可调(10 - 30题) + - 支持切换题目类型 + +3. **去重机制**:同一教师生成的题目不重复 + +4. **自动保存**:按时间戳命名文件(格式:年-月-日-时-分-秒.txt) + +## 🚀 使用方法 + +### 1. 登录账户 +在命令行输入用户名和密码(用空格隔开),例如: +``` +请输入用户名和密码(用空格隔开): 李四2 123 +``` + +登录成功提示示例: +``` +登录成功!当前选择为初中出题 +``` + +### 2. 生成题目 +登录成功后,按照提示输入生成题目数量(10 - 30题),例如: +``` +准备生成初中数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录): 15 +``` + +#### 切换题目类型 +在生成题目步骤,可输入命令切换题目类型,命令格式为`切换为XX`(XX为小学/初中/高中),例如: +``` +请输入命令(直接回车生成题目,或输入'切换为XX'切换类型): 切换为高中 +``` + +切换成功提示示例: +``` +系统提示:准备生成高中数学题目,请输入生成题目数量 +``` + +### 3. 退出登录 +输入`-1`可退出当前账户,例如: +``` +准备生成...题目数量(输入-1将退出当前用户,重新登录): -1 +``` + +退出提示示例: +``` +已退出当前用户,请重新登录 +``` + +## 📋 预设账户列表 +| 类型 | 用户名 | 密码 | +|------|--------|------| +| 小学 | 张三1 | 123 | +| 小学 | 张三2 | 123 | +| 小学 | 张三3 | 123 | +| 初中 | 李四1 | 123 | +| 初中 | 李四2 | 123 | +| 初中 | 李四3 | 123 | +| 高中 | 王五1 | 123 | +| 高中 | 王五2 | 123 | +| 高中 | 王五3 | 123 | + +## 📂 文件保存规则 +- **路径**:程序运行目录下以用户名命名的文件夹内(如`./李四2/`) +- **文件名**:按时间戳命名,格式为`年-月-日-时-分-秒.txt`(示例:`2023-11-15-14-30-22.txt`) +- **内容格式**: + ``` + 1. 25 + (13 * 4) / 2 = ? + + 2. 5² + √16 * 3 = ? + ``` + +## ⚠️ 注意事项 +1. **账户限制**: + - 仅支持预设的9个账户(3小学/3初中/3高中) + - 密码统一为"123" + +2. **题目数量**: + - 最小10题,最大30题 + - 输入其他数值会提示重新输入 + +3. **类型切换**: + - 仅支持"小学"、"初中"、"高中"三种类型 + - 输入其他类型会提示错误 + +4. **文件编码**: + - 程序自动处理中文路径和内容 + - 保存的文本文件为UTF-8编码 + +5. **错误处理**: + - 登录失败会提示"请输入正确的用户名、密码" + - 生成题目不足时会警告实际生成数量 + +## 🔧 常见问题 +1. **中文显示乱码**: + - 确保终端支持UTF-8编码 + - Windows系统需以管理员身份运行并设置控制台编码 + +2. **文件保存失败**: + - 检查是否有文件夹写入权限 + - 确保磁盘空间充足 + +3. **重复题目**: + - 程序会自动去重,同一教师生成的题目不重复 + - 如需完全重新生成,可删除用户文件夹下的历史文件 + +## 📞 技术支持 +- 开发者邮箱:gefengren@qq.com +- 问题反馈模板: + ``` + 操作系统:Windows 11 + 问题描述:生成题目时程序崩溃 + 复现步骤: + 1. 登录李四2账户 + 2. 输入题目数量15 + 3. 程序出现崩溃 + 附件:错误截图/日志文件 + ``` \ No newline at end of file