C++实现的学生信息管理系统

需积分: 9 15 下载量 177 浏览量 更新于2024-12-19 收藏 11KB TXT 举报
"该资源是一个使用C++编程语言实现的学生管理系统。系统通过链表数据结构存储学生信息,包括学号、姓名、班级以及三门课程的成绩,并提供了读取文件、显示菜单、插入、删除、修改成绩、按姓名或学号查询、按总分排序和显示特定分数段学生等功能。" 在C++编程中,这个学生管理系统运用了结构体(struct)来定义一个名为STUDENT的数据类型,包含了学生的核心信息。结构体中包含了以下字段: 1. `char studentNumber[10]`: 用来存储学生的学号,长度限制为10个字符。 2. `char studentName[20]`: 用于保存学生姓名,长度上限为20个字符。 3. `char className[20]`: 存储学生所在的班级名,同样限制为20个字符。 4. `float mark1, mark2, mark3`: 分别代表学生三门课程的成绩,使用浮点型数据以容纳可能的小数部分。 5. `struct STUDENT*next`: 指针变量,用于链接下一个STUDENT结构体,构建链表。 系统定义了一个全局指针`STUDENT*headLink`来指向链表的头节点,便于对整个链表进行操作。 程序中定义了一系列的函数,如: - `void ReadInfoFormFile(void)`: 从文件中读取学生信息并加载到链表中。 - `void DesplayMenu(void)`: 显示操作菜单供用户选择。 - `void CreateHeadLink(void)`: 创建链表的头结点。 - `STUDENT* MallocNode(void)`: 动态分配内存创建新的学生节点。 - `void GetInformation(STUDENT *t)`: 获取用户输入的学生信息并存入结构体。 - `void OutputInformation(void)`: 打印所有学生的信息。 - `void DesplayInfoBystudentName(void)`: 根据姓名查询并显示学生信息。 - `void DesplayInfoBystudentNumber(void)`: 根据学号查询并显示学生信息。 - `void DesplayOneNode(STUDENT *t)`: 显示单个学生节点的信息。 - `void InsertOneNode(STUDENT *t)`: 在链表中插入一个新学生节点。 - `void DeleteNodeBystudentNumber(void)`: 根据学号删除学生节点。 - `void ChangeMarkByName(void)`: 通过姓名修改学生成绩。 - `void ChangeMarkByNumber(void)`: 通过学号修改学生成绩。 - `void SaveLinkToFile(void)`: 将链表信息保存到文件。 - `void DesplayMarkSegment(void)`: 显示指定分数段的学生信息。 - `void CompositorByTotalMark(void)`: 按总分对学生进行排序。 在`main()`函数中,首先创建了链表的头结点,然后从文件读取学生信息并显示操作菜单供用户交互。用户可以通过菜单选择不同的操作,如添加、删除、查询、修改学生信息等。 这个学生管理系统充分展示了C++中结构体、文件操作、链表数据结构以及用户交互的基本应用,是一个实用的教育管理工具。