一、项目背景
为练习C++编程和文件操作,独立开发一套命令行界面的学生管理工具,适用于小型班级或课程设计场景。
二、核心功能
添加学生:录入学号、姓名、成绩,自动检测学号重复。
显示所有学生:以表格形式输出当前所有学生信息(学号、姓名、成绩)。
按学号查找:输入学号,显示对应学生的完整信息。
按学号删除:删除指定学号的学生记录,并自动更新文件。
按学号修改:修改已有学生的姓名或成绩。
数据持久化:所有操作实时保存至本地文本文件,程序启动自动加载历史数据。
三、技术实现
开发语言:C++
主要库:iostream(输入输出)、fstream(文件读写)、vector(动态数组)、iomanip(格式对齐)、algorithm(算法辅助)
架构设计:采用模块化函数设计(addStudent, showAll, searchById, deleteById, updateById, saveToFile, loadFromFile),主循环调用。
数据存储:使用vector<Student>存储内存数据,students.txt作为本地存储文件。
四、项目亮点
数据持久化:关闭程序后数据不丢失,符合实际应用需求。
学号唯一性检查:添加时自动去重,防止重复录入。
表格化输出:使用setw对齐字段,提升可读性。
错误处理:文件不存在时自动跳过加载,不崩溃。
代码规范:变量命名清晰,关键步骤注释,函数短小单一。
五、运行说明
编译环境:支持 Dev-C++、Visual Studio、Code::Blocks 或任何 C++11 兼容编译器。
运行步骤:
下载源码压缩包或 clone GitHub 仓库。
使用编译器打开 main.cpp。
编译并运行。
根据菜单提示输入数字进行操作。