|
|
|
|
|
# 中小学数学卷子自动生成程序
|
|
|
|
|
|
中小学数学试卷自动生成工具,支持小学、初中和高中三个难度级别。
|
|
|
|
|
|
## 项目概述
|
|
|
|
|
|
本项目是为中小学数学教师开发的试卷自动生成系统,解决了传统手工出题效率低、题目重复率高的问题。系统能够根据不同的学段要求,智能生成符合教学大纲的数学题目,并具备完善的用户管理和文件保存功能。
|
|
|
|
|
|
## 功能特性
|
|
|
|
|
|
- **多用户登录系统:** 预设小学、初中、高中各三个教师账号,支持安全的用户名密码验证。
|
|
|
- **智能题目生成:** 根据不同学段自动生成相应难度的数学题目,确保题目符合教学要求。
|
|
|
- **实时难度切换:** 用户登录后可随时切换题目难度,支持小学、初中、高中三个级别。
|
|
|
- **题目查重机制:** 内置查重功能,避免生成重复题目,保证试卷的多样性。
|
|
|
- **自动文件管理:** 按用户分类保存试卷文件,采用时间戳命名,便于管理和查找。
|
|
|
|
|
|
## 安装与使用
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
|
- 编程语言:C++ 11+
|
|
|
- 编译器:GCC 4.8+ 或 MSVC 支持C++11的版本
|
|
|
- 操作系统:Windows
|
|
|
|
|
|
### 安装步骤
|
|
|
|
|
|
1. 克隆项目:
|
|
|
```bash
|
|
|
git clone https://bdgit.educoder.net/hnu202326010132/MathTestGenerator.git
|
|
|
```
|
|
|
|
|
|
2. 编译项目
|
|
|
|
|
|
|
|
|
### 运行程序
|
|
|
|
|
|
**Windows:**
|
|
|
```bash
|
|
|
./项目1
|
|
|
```
|
|
|
|
|
|
### 登录系统
|
|
|
系统启动后显示欢迎界面,使用以下预设账号登录:
|
|
|
|
|
|
小学老师:张三1/123, 张三2/123, 张三3/123
|
|
|
初中老师:李四1/123, 李四2/123, 李四3/123
|
|
|
高中老师:王五1/123, 王五2/123, 王五3/123
|
|
|
|
|
|
|
|
|
|
|
|
### 主菜单操作
|
|
|
登录成功后显示主菜单:
|
|
|
|
|
|
========================================
|
|
|
中小学数学卷子自动生成程序
|
|
|
========================================
|
|
|
|
|
|
当前用户: 张三1 [当前选择为小学出题]
|
|
|
|
|
|
请选择操作:
|
|
|
|
|
|
1. 生成题目
|
|
|
|
|
|
2. 切换难度
|
|
|
|
|
|
3. 退出登录
|
|
|
|
|
|
4. 退出程序
|
|
|
输入选项 (1-4):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 生成题目
|
|
|
选择1后,系统提示:
|
|
|
|
|
|
准备生成小学数学题目,请输入生成题目数量(10-30,输入-1返回主菜单):
|
|
|
|
|
|
|
|
|
|
|
|
输入10-30之间的数字,系统自动生成对应数量的题目。
|
|
|
|
|
|
### 切换难度
|
|
|
选择2后,系统提示:
|
|
|
|
|
|
请输入要切换的难度(切换为小学/切换为初中/切换为高中):
|
|
|
|
|
|
|
|
|
输入正确的切换命令后,系统确认切换成功。
|
|
|
|
|
|
### 文件保存
|
|
|
生成的题目自动保存到papers文件夹:
|
|
|
|
|
|
papers/
|
|
|
└── 用户名_questions/
|
|
|
└── 2025-09-27-14-30-25.txt
|
|
|
|
|
|
## 配置说明
|
|
|
|
|
|
系统使用预设账号:
|
|
|
|
|
|
| 年级 | 账号 | 密码 |
|
|
|
| :--- | :--- | :--- |
|
|
|
| 小学账号 | 张三1, 张三2, 张三3 | 密码: 123 |
|
|
|
| 初中账号 | 李四1, 李四2, 李四3 | 密码: 123 |
|
|
|
| 高中账号 | 王五1, 王五2, 王五3 | 密码: 123 |
|
|
|
|
|
|
## 项目文件结构
|
|
|
|
|
|
```
|
|
|
软件2301_喀迪尔·斯迪克_个人项目/
|
|
|
├── src/ # 源代码目录
|
|
|
│ ├── main.cpp # 主程序入口
|
|
|
│ ├── Teacher.h/cpp # 教师信息类
|
|
|
│ ├── LoginService.h/cpp # 登录服务类
|
|
|
│ ├── QuestionGenerator.h/cpp # 题目生成器
|
|
|
│ ├── FileService.h/cpp # 文件服务类
|
|
|
│ ├── Validator.h/cpp # 输入验证器
|
|
|
│ ├── IQuestionGenerator.h # 题目生成接口
|
|
|
│ └── Difficulty.h # 难度枚举定义
|
|
|
├── doc/ # 文档目录
|
|
|
│ └── README.md # 说明文档
|
|
|
└── papers/ # 生成的试卷文件(运行时自动创建)
|
|
|
```
|
|
|
|
|
|
## 技术栈
|
|
|
|
|
|
- **后端语言:** C++ 11
|
|
|
- **文件处理:** 跨平台文件操作
|
|
|
- **用户界面:** 命令行交互界面
|
|
|
|
|
|
## 作者
|
|
|
|
|
|
- **姓名:** 喀迪尔·斯迪克
|
|
|
- **班级:** 软件2301
|
|
|
- **项目地址:** https://git.educoder.net/你的用户名/软件2301_喀迪尔·斯迪克_个人项目
|
|
|
|