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.

3.9 KiB

中小学数学卷子自动生成程序

中小学数学试卷自动生成工具,支持小学、初中和高中三个难度级别。

项目概述

本项目是为中小学数学教师开发的试卷自动生成系统,解决了传统手工出题效率低、题目重复率高的问题。系统能够根据不同的学段要求,智能生成符合教学大纲的数学题目,并具备完善的用户管理和文件保存功能。

功能特性

  • 多用户登录系统: 预设小学、初中、高中各三个教师账号,支持安全的用户名密码验证。
  • 智能题目生成: 根据不同学段自动生成相应难度的数学题目,确保题目符合教学要求。
  • 实时难度切换: 用户登录后可随时切换题目难度,支持小学、初中、高中三个级别。
  • 题目查重机制: 内置查重功能,避免生成重复题目,保证试卷的多样性。
  • 自动文件管理: 按用户分类保存试卷文件,采用时间戳命名,便于管理和查找。

安装与使用

环境要求

  • 编程语言C++ 11+
  • 编译器GCC 4.8+ 或 MSVC 支持C++11的版本
  • 操作系统Windows

安装步骤

  1. 克隆项目:
git clone https://bdgit.educoder.net/hnu202326010132/MathTestGenerator.git
  1. 编译项目

运行程序

Windows

./项目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
  • 文件处理: 跨平台文件操作
  • 用户界面: 命令行交互界面

作者