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.3 KiB

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

项目简介

这是一个基于 C++ 开发的中小学数学卷子自动生成程序,支持小学、初中、高中三种难度,能够自动生成符合学段要求的数学题目,并为每位教师账号按时间戳保存试卷文件。

客户机部署步骤(详细)

本节说明如何在客户机(以 Windows 为主)部署并运行本程序。

一、系统要求

  • 操作系统Windows 10/1164 位)
  • 磁盘空间:至少 100 MB用于保存试卷与历史
  • 运行权限:对安装目录具有读写权限(建议在用户目录或桌面下)

二、部署包内容

将以下文件放在同一目录(建议目录名如 MathExamGenerator/

  • math_exam_generator.exe(主程序)
  • libgcc_s_seh-1.dll(运行时依赖)
  • libstdc++-6.dll(运行时依赖)
  • libwinpthread-1.dll(运行时依赖)

以上三个 DLL 为 MinGW/GCC 运行时依赖,必须与可执行文件位于同一目录。

三、Windows 客户机部署步骤

  1. 在客户机上创建目录,例如:C:\Users\<用户名>\Desktop\MathExamGenerator
  2. 将部署包中的 1 个可执行文件与 3 个 DLL 一并复制到该目录。
  3. 首次运行方式:
    • 双击 math_exam_generator.exe,或
    • 在 PowerShell 中进入目录并执行:./math_exam_generator.exe
  4. 程序将打开控制台提示登录与生成试卷(见“运行与使用”)。

四、运行与使用

  • 登录账号(预置示例,可用于验证部署是否成功):
    • 小学:张三1张三2张三3(密码均为 123
    • 初中:李四1李四2李四3(密码均为 123
    • 高中:王五1王五2王五3(密码均为 123
  • 登录成功后,程序会提示:
    • 输入生成题目数量(范围 1030),如输入 20
    • 支持指令切换难度:输入 切换为小学切换为初中切换为高中
    • 输入 -1 退出当前登录用户并返回登录界面。
    • Ctrl+C 可中断当前交互并安全返回主流程。

五、试卷保存位置与历史

  • 程序会在当前工作目录下自动创建:paper/<用户名>/
  • 每次生成的试卷文件命名格式:YYYY-MM-DD-HH-MM-SS.txt(时间戳)。
  • 同目录下会维护 /.history.txt,用于避免重复题目。

六、升级与卸载

  • 升级:
    • 用新版本的 math_exam_generator.exe 直接替换旧文件(保持目录结构与 DLL 不变)。
    • 建议保留 paper/ 目录以延续历史记录。
  • 卸载:
    • 删除安装目录(例如 MathExamGenerator/)。
    • 如不再需要历史与试卷,可一并删除 paper/ 目录。

七、常见问题FAQ

  • 运行时报错“缺少 DLL”或“找不到入口”
    • 请确认 libgcc_s_seh-1.dlllibstdc++-6.dlllibwinpthread-1.dll 与可执行文件在同一目录。
  • 中文显示异常或乱码:
    • 建议在 Windows Terminal/PowerShell 中运行,程序已内置中文本地化处理;如仍异常,请尝试切换终端字体或编码。
  • 无法生成试卷或提示无权限:
    • 确认安装目录对当前用户有写权限;避免使用受限制的系统目录(如 C:\Program Files)。
  • 题目数量提示不在范围:
    • 请输入 1030 的整数;否则程序会提示重新输入。

八、Linux / macOS 编译与部署(可选)

  • 在具备 g++ 的环境下编译:
    cd src
    make
    # 或
    g++ -std=c++17 -Wall -Wextra -O2 -o math_exam_generator main.cc app.cc auth.cc exam.cc login.cc utils.cc
    
  • 将生成的可执行文件 math_exam_generator 放置到目标目录并运行:./math_exam_generator

快速开始

  • 进入 src 目录
  • Windows运行 ./math_exam_generator.exe
  • Linux / macOS运行 ./math_exam_generator

编译(如需重新构建)

cd src
make

或使用手动编译:

cd src
g++ -std=c++17 -Wall -Wextra -O2 -o math_exam_generator main.cc app.cc auth.cc exam.cc login.cc utils.cc

项目结构

├── doc/     # 项目文档
└── src/     # 源代码与可执行文件

更多详细说明(功能特性、预设账号、使用步骤、试卷示例等),请参阅 doc/README.md

作者

软件2301班 - 沈永佳