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.
hnu202326010310 7d8b2dad9b
Update README.md
4 months ago
..
README.md Update README.md 4 months ago

README.md

<<<<<<< HEAD 中小学数学卷子自动生成系统 项目简介 中小学数学卷子自动生成系统是一个基于C++开发的命令行应用程序旨在帮助小学、初中和高中数学老师快速生成符合教学大纲要求的数学题目。系统支持题目查重、难度切换、文件保存等功能严格遵循Google C++代码规范。

功能特性 用户认证系统 预设小学、初中、高中各三个教师账户

安全的用户名密码验证机制

自动识别用户类型并设置相应难度

题目生成能力 小学题目包含加减乘除基本运算操作数2-5个

初中题目:必须包含平方(?)或开根号(√)运算符,支持单操作数

高中题目:必须包含三角函数(sin/cos/tan),支持单操作数

智能查重:避免生成重复题目

交互功能 动态难度切换(小学/初中/高中)

题目数量控制10-30题

实时题目预览

用户友好的命令行界面

文件管理 按用户分文件夹存储

时间戳命名的文件格式(年-月-日-时-分-秒.txt

题目编号和格式化输出

技术架构 类设计(面向对象)

QuestionGenerator抽象基类 ├── PrimaryGenerator小学题目生成器 ├── JuniorGenerator初中题目生成器 └── SeniorGenerator高中题目生成器

核心管理类: ├── AuthManager认证管理 ├── SessionManager会话管理 ├── FileManager文件管理

设计模式 工厂模式:题目生成器的多态实现

单一职责原则:每个类专注特定功能

开放封闭原则:易于扩展新难度级别

安装与运行 环境要求 操作系统Windows 10/11 或 Linux (WSL)

编译器GCC 8.1.0+ 支持C++17

构建工具直接使用g++ 直接编译 cd src g++ -Wall -Wextra -g3 -std=c++17 -pthread *.cpp -o ../output/main.exe 运行程序

chcp 65001 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 ./main.exe 使用指南 登录系统

===================================== 中小学数学卷子自动生成系统

请输入用户名和密码(格式:用户名 密码),或输入 quit 退出系统:

张三1 123
登录成功!当前选择为小学出题

===================================== 当前用户: 张三1 (小学老师) 当前出题类型: 小学

请选择操作:

生成题目(输入题目数量 10-30

切换难度(输入:切换为小学/初中/高中)

退出登录(输入:-1

    15
    测试账户
    用户类型    用户名    密码    默认难度
    小学    张三1, 张三2, 张三3    123    小学
    初中    李四1, 李四2, 李四3    123    初中
    高中    王五1, 王五2, 王五3    123    高中
    ? 题目示例
    小学题目

3 + 5 × 2 = ?

24 ÷ 3 + 7 - 2 = ?
初中题目

√(16) + 5 = ?

4? × 3 - 2 = ?

√(25) = ?  (单操作数)
高中题目

sin(30°) × 2 = ?

5 + cos(45°) - 1 = ?

tan(60°) = ?  (单操作数)
 项目结构

exam/ ├── src/ │ ├── main.cpp # 程序入口 │ ├── auth_manager.h/cpp # 认证管理 │ ├── question_generator.h/cpp # 题目生成基类 │ ├── primary_generator.h/cpp # 小学题目生成 │ ├── junior_generator.h/cpp # 初中题目生成 │ ├── senior_generator.h/cpp # 高中题目生成 │ ├── file_manager.h/cpp # 文件管理 │ └── session_manager.h/cpp # 会话管理 ├── exams/ # 生成的题目文件 │ ├── zhangsan1/ │ ├── lisi1/ │ └── wangwu1/ ├── Makefile # 编译配置 ├── doc/ │ ├──README.md # 项目说明 开发指南 代码规范 遵循Google C++代码规范

使用大驼峰命名法(类名)

成员变量以下划线结尾

包含详细的注释文档

扩展新功能 添加新难度级别继承QuestionGenerator基类

修改题目规则:调整各生成器的算法参数

增强文件格式修改FileManager的输出格式

编译选项

CXX = g++ CXXFLAGS = -std=c++17 -Wall -Wextra -I. LDFLAGS = -pthread 故障排除 常见问题 编译错误确保GCC支持C++17检查文件路径

文件权限:确保有创建目录和文件的权限

编码问题系统使用UTF-8编码确保终端支持中文显示

调试模式

未来规划 功能增强 图形用户界面Qt版本

题目难度分级(简单/中等/困难)

答案生成和批改功能

题目导出为PDF格式

网络协作和题目共享

技术优化 单元测试覆盖

性能优化和内存管理

跨平台兼容性增强

配置文件和个性化设置

开发流程 Fork本项目

创建功能分支git checkout -b feature/AmazingFeature

提交更改git commit -m Add some AmazingFeature

推送到分支git push origin feature/AmazingFeature

开启Pull Request

致谢 感谢所有为这个项目提供建议和帮助的贡献者!

开发者软件2303班 郭永瑞 最后更新2025年9月 版本v1.0.0

中小学数学卷子自动生成系统 项目简介 中小学数学卷子自动生成系统是一个基于C++开发的命令行应用程序旨在帮助小学、初中和高中数学老师快速生成符合教学大纲要求的数学题目。系统支持题目查重、难度切换、文件保存等功能严格遵循Google C++代码规范。

功能特性 用户认证系统 预设小学、初中、高中各三个教师账户

安全的用户名密码验证机制

自动识别用户类型并设置相应难度

题目生成能力 小学题目包含加减乘除基本运算操作数2-5个

初中题目:必须包含平方(?)或开根号(√)运算符,支持单操作数

高中题目:必须包含三角函数(sin/cos/tan),支持单操作数

智能查重:避免生成重复题目

交互功能 动态难度切换(小学/初中/高中)

题目数量控制10-30题

实时题目预览

用户友好的命令行界面

文件管理 按用户分文件夹存储

时间戳命名的文件格式(年-月-日-时-分-秒.txt

题目编号和格式化输出

技术架构 类设计(面向对象)

QuestionGenerator抽象基类 ├── PrimaryGenerator小学题目生成器 ├── JuniorGenerator初中题目生成器 └── SeniorGenerator高中题目生成器

核心管理类: ├── AuthManager认证管理 ├── SessionManager会话管理 ├── FileManager文件管理

设计模式 工厂模式:题目生成器的多态实现

单一职责原则:每个类专注特定功能

开放封闭原则:易于扩展新难度级别

安装与运行 环境要求 操作系统Windows 10/11 或 Linux (WSL)

编译器GCC 8.1.0+ 支持C++17

构建工具直接使用g++ 直接编译

g++ -Wall -Wextra -g3 -std=c++17 -pthread *.cpp -o ..\output\main.exe 运行程序 main.exe会生成在output目录下 chcp 65001 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 ./main.exe 使用指南 登录系统

===================================== 中小学数学卷子自动生成系统

请输入用户名和密码(格式:用户名 密码),或输入 quit 退出系统:

张三1 123
登录成功!当前选择为小学出题

===================================== 当前用户: 张三1 (小学老师) 当前出题类型: 小学

请选择操作:

生成题目(输入题目数量 10-30

切换难度(输入:切换为小学/初中/高中)

退出登录(输入:-1

    15
    测试账户
    用户类型    用户名    密码    默认难度
    小学    张三1, 张三2, 张三3    123    小学
    初中    李四1, 李四2, 李四3    123    初中
    高中    王五1, 王五2, 王五3    123    高中
    ? 题目示例
    小学题目

3 + 5 × 2 = ?

24 ÷ 3 + 7 - 2 = ?
初中题目

√(16) + 5 = ?

4? × 3 - 2 = ?

√(25) = ?  (单操作数)
高中题目

sin(30°) × 2 = ?

5 + cos(45°) - 1 = ?

tan(60°) = ?  (单操作数)
? 项目结构

exam/ ├── src/ │ ├── main.cpp # 程序入口 │ ├── auth_manager.h/cpp # 认证管理 │ ├── question_generator.h/cpp # 题目生成基类 │ ├── primary_generator.h/cpp # 小学题目生成 │ ├── junior_generator.h/cpp # 初中题目生成 │ ├── senior_generator.h/cpp # 高中题目生成 │ ├── file_manager.h/cpp # 文件管理 │ └── session_manager.h/cpp # 会话管理 ├── exams/ # 生成的题目文件 │ ├── zhangsan1/ │ ├── lisi1/ │ └── wangwu1/ ├── Makefile # 编译配置 ├── doc/ │ ├──README.md # 项目说明 开发指南 代码规范 遵循Google C++代码规范

使用大驼峰命名法(类名)

成员变量以下划线结尾

包含详细的注释文档

扩展新功能 添加新难度级别继承QuestionGenerator基类

修改题目规则:调整各生成器的算法参数

增强文件格式修改FileManager的输出格式

编译选项

CXX = g++ CXXFLAGS = -std=c++17 -Wall -Wextra -I. LDFLAGS = -pthread 故障排除 常见问题 编译错误确保GCC支持C++17检查文件路径

文件权限:确保有创建目录和文件的权限

编码问题系统使用UTF-8编码确保终端支持中文显示

调试模式

未来规划 功能增强 图形用户界面Qt版本

题目难度分级(简单/中等/困难)

答案生成和批改功能

题目导出为PDF格式

网络协作和题目共享

技术优化 单元测试覆盖

性能优化和内存管理

跨平台兼容性增强

配置文件和个性化设置

开发流程 Fork本项目

创建功能分支git checkout -b feature/AmazingFeature

提交更改git commit -m Add some AmazingFeature

推送到分支git push origin feature/AmazingFeature

开启Pull Request

致谢 感谢所有为这个项目提供建议和帮助的贡献者!

开发者软件2303班 郭永瑞 最后更新2025年9月 版本v1.0.0

ca0a2fb74f