# 中小学数学卷子自动生成程序 中小学数学试卷自动生成工具,支持小学、初中和高中三个难度级别。 ## 项目概述 本项目是为中小学数学教师开发的试卷自动生成系统,解决了传统手工出题效率低、题目重复率高的问题。系统能够根据不同的学段要求,智能生成符合教学大纲的数学题目,并具备完善的用户管理和文件保存功能。 ## 功能特性 - **多用户登录系统:** 预设小学、初中、高中各三个教师账号,支持安全的用户名密码验证。 - **智能题目生成:** 根据不同学段自动生成相应难度的数学题目,确保题目符合教学要求。 - **实时难度切换:** 用户登录后可随时切换题目难度,支持小学、初中、高中三个级别。 - **题目查重机制:** 内置查重功能,避免生成重复题目,保证试卷的多样性。 - **自动文件管理:** 按用户分类保存试卷文件,采用时间戳命名,便于管理和查找。 ## 安装与使用 ### 环境要求 - 编程语言: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_喀迪尔·斯迪克_个人项目