# C++_StudentGradeManSys **Repository Path**: LCC_Z/c--student-grade-man-sys ## Basic Information - **Project Name**: C++_StudentGradeManSys - **Description**: C++ 项目:学生成绩管理系统。支持控制台与 Qt 图形界面双模式,含荣誉学生、挂科预警、统计分析;采用继承与多态设计,双端共用同一数据文件。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-07-02 - **Last Updated**: 2026-07-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学生成绩管理系统 C++ 课程期末项目,提供**控制台**与 **Qt 图形界面**两种运行方式,共用同一份数据文件 `StudentGradeManSys/students.txt`。 # 项目特色 一是做了荣誉学生拓展模块和挂科预警、统计分析这些业务功能; 二是完整用了课程要求的面向对象和多态; 三是同时实现了控制台版和 Qt 图形界面版,共用同一套数据模型和数据文件。” 第一,功能上不只是增删改查,我加了荣誉学生模块、挂科预警、课程统计和成绩排名,比较贴近真实成绩管理场景。 第二,技术上用了三层继承和多态,容器里存的是 unique_ptr,既能管普通学生,也能管荣誉学生。 第三,架构上做了分层,控制台和 Qt 图形界面共用同一套 Student 类和同一个数据文件。 第四,细节上做了学号唯一性检查、输入校验、文件持久化和异常处理,程序比较稳定。” ## 运行环境 | 组件 | 要求 | |------|------| | 编译器 | 支持 **C++14** 的 g++(MinGW)或 MSVC | | 控制台版 | 仅需 g++,无需额外依赖 | | 图形界面版 | **Qt 5.15+** 或 **Qt 6**,需安装 Qt Widgets 模块 | | 推荐 IDE | Qt Creator(图形界面版);任意编辑器 + 命令行(控制台版) | | 操作系统 | Windows(已在 Windows 10/11 + MinGW 64-bit 下验证) | ## 项目结构 ``` Final/ ├── README.md └── StudentGradeManSys/ ├── code.cpp # 控制台入口 ├── students.txt # 学生数据文件 ├── Person.h ~ StudentManager.h └── QtGui/ ├── main.cpp # 图形界面入口 ├── StudentGradeManSysQt.pro └── CMakeLists.txt ``` ## 启动方式 ### 方式一:控制台版 在 `StudentGradeManSys` 目录下编译并运行: ```bash g++ -std=c++14 -fexec-charset=utf-8 -finput-charset=utf-8 code.cpp -o code.exe ./code.exe ``` 也可以直接点击"code.cpp"直接运行; 启动后按提示选择是否加载 `students.txt`,再通过菜单(0–11)操作。 > **注意**:请在包含 `students.txt` 的目录下运行程序,否则无法正确读写数据。 ### 方式二:Qt 图形界面版 **使用 Qt Creator** 1. 打开 Qt Creator,选择 **文件 → 打开项目**。 2. 选择 `StudentGradeManSys/QtGui/StudentGradeManSysQt.pro`。 3. 配置 Kit(如 Desktop Qt 6.x MinGW 64-bit)。 4. 在 **项目 → 运行** 中,将**工作目录**设为 `StudentGradeManSys`(含 `students.txt` 的目录)。 5. 点击 **运行(▶)** 启动。 ## 数据文件 - 默认数据文件:`StudentGradeManSys/students.txt` - 控制台版与图形界面版共用同一文件;修改后可通过菜单中的「保存到文件」持久化。