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.
|
|
4 months ago | |
|---|---|---|
| .. | ||
| README.md | 4 months ago | |
README.md
中小学数学卷子自动生成程序
中小学数学试卷自动生成工具,支持小学、初中和高中三个难度级别。
项目概述
本项目是为中小学数学教师开发的试卷自动生成系统,解决了传统手工出题效率低、题目重复率高的问题。系统能够根据不同的学段要求,智能生成符合教学大纲的数学题目,并具备完善的用户管理和文件保存功能。
功能特性
- 多用户登录系统: 预设小学、初中、高中各三个教师账号,支持安全的用户名密码验证。
- 智能题目生成: 根据不同学段自动生成相应难度的数学题目,确保题目符合教学要求。
- 实时难度切换: 用户登录后可随时切换题目难度,支持小学、初中、高中三个级别。
- 题目查重机制: 内置查重功能,避免生成重复题目,保证试卷的多样性。
- 自动文件管理: 按用户分类保存试卷文件,采用时间戳命名,便于管理和查找。
安装与使用
环境要求
- 编程语言:C++ 11+
- 编译器:GCC 4.8+ 或 MSVC 支持C++11的版本
- 操作系统:Windows
安装步骤
- 克隆项目:
git clone https://bdgit.educoder.net/hnu202326010132/MathTestGenerator.git
- 编译项目
运行程序
Windows:
./项目1
登录系统
系统启动后显示欢迎界面,使用以下预设账号登录:
小学老师:张三1/123, 张三2/123, 张三3/123
初中老师:李四1/123, 李四2/123, 李四3/123
高中老师:王五1/123, 王五2/123, 王五3/123
主菜单操作
登录成功后显示主菜单:
========================================
中小学数学卷子自动生成程序
当前用户: 张三1 [当前选择为小学出题]
请选择操作:
-
生成题目
-
切换难度
-
退出登录
-
退出程序
输入选项 (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_喀迪尔·斯迪克_个人项目