C++实现的学生信息及成绩管理系统代码

需积分: 10 2 下载量 5 浏览量 更新于2024-09-16 1 收藏 22KB TXT 举报
"学生信息管理系统代码" 这是一个C++编写的简单学生信息管理系统,它包括了对两个不同类型的学生信息(Student1 和 Student2)以及课程信息的处理。系统使用链表结构来存储数据,并实现了文件读写功能,以便于数据的持久化。 1. 结构体定义: - `Student1` 结构体代表一门课程的成绩信息,包含学号、课程编号、课程名、学分、平时成绩、实验成绩和卷面成绩。其中,综合成绩(m)和实得学分(n)是根据其他字段计算得出的。 - `Student2` 结构体表示学生的基本信息,包括学号、姓名、性别、宿舍号码和电话号码。 - `InfList` 和 `CourseList` 分别表示学生基本信息链表和课程成绩链表的结构,包含链表头指针和链表大小。 2. 链表操作: - `create2()` 和 `create1()` 函数用于创建空的 `InfList` 和 `CourseList` 链表。 - `deleteAll1()` 和 `deleteAll()` 函数分别用于释放 `Student1` 和 `Student2` 结构体所占用的内存,防止内存泄漏。 - `removeAll1()` 和 `removeAll()` 用于删除链表中的所有节点,清空链表。 3. 数据计算函数: - `getM()` 根据输入的平时成绩、实验成绩和卷面成绩计算综合成绩。 - `getN()` 根据学分和综合成绩计算实得学分,根据学分的等级给予不同的权重。 4. 文件操作: - `LoadData1()` 和 `LoadData()` 函数分别从文件 "b.txt" 和 "a.txt" 中读取课程成绩和学生基本信息,创建对应的链表。这些函数使用 `ifstream` 读取文件,逐行处理数据,并动态分配内存存储信息。 5. 其他库文件和命名空间: - `<fstream.h>`、`<string>`、`<iomanip.h>`、`<windows.h>`、`<mmsystem.h>` 是程序所需的库文件,分别用于文件操作、字符串处理、格式控制、Windows API 和多媒体系统函数。 - `using namespace std;` 声明使用标准命名空间,避免每次使用标准库函数时都写 `std::`。 通过这个代码,我们可以理解如何在C++中使用链表结构来管理和操作学生信息,以及如何从文件中加载和保存这些信息。同时,它也展示了基本的数据计算和内存管理技巧。