C++实现的学生管理系统:操作成绩、排序与分析
需积分: 9 25 浏览量
更新于2024-09-07
收藏 8KB TXT 举报
"studentManger.txt 是一个基于 C++ 编程语言开发的学生管理系统,用于管理学生的成绩数据,包括添加、修改、查看、排序和分析等功能。系统采用链表结构存储学生信息,每个学生对象包含姓名(name)、学号(ID)、四门课程的成绩(数学、英语、其他课程以及总成绩)以及指向下一个学生对象的指针。此外,系统还提供了友元类 studentMessage 用于操作和管理这些学生对象,提供了如添加、删除、查找、显示特定课程成绩和排序等方法。"
在这个系统中,`student` 类是核心数据结构,包含了学生的个人信息和成绩。类的成员变量有:
1. `ID`:学生学号,类型为 `std::string`。
2. `name`:学生姓名,类型为 `std::string`。
3. `score`:一个双精度浮点型数组,用于存储四门课程的成绩,数组下标1-4分别对应数学、英语、其他课程和总成绩。数组的0号单元未使用。
4. `next`:指向下一个学生对象的指针,类型为 `student*`。
`student` 类还包含以下成员函数:
1. 构造函数 `student()`:初始化学生对象。
2. `getName()`:返回学生姓名。
3. `getID()`:返回学生学号。
4. `getMath()`:返回数学成绩。
5. `getEnglesh()`:返回英语成绩。
6. `getOPP()`:返回其他课程成绩。
7. `getTotal()`:返回总成绩。
8. `getNext()`:返回指向下一个学生对象的指针。
9. `analyse()`:静态成员函数,用于分析成绩。
10. `display()`:打印学生的所有成绩信息。
11. `swap()`:交换当前对象与下一个对象(`next`)的信息。
`studentMessage` 类用于管理链表中的学生对象,提供了以下方法:
1. 构造函数 `studentMessage()`:初始化链表。
2. `getFirst()`:返回链表的第一个学生对象。
3. `getLast()`:返回链表的最后一个学生对象。
4. `getNum()`:返回链表中学生对象的数量。
5. `add()`:向链表中添加新的学生对象。
6. `search()`:在链表中查找指定条件的学生对象。
7. `del()`:删除链表中满足条件的学生对象。
8. `showOne()`:分析单个学生的一门课程成绩。
9. `showAll()`:显示所有学生所有科目的成绩。
10. `sort()`:根据指定标准对链表进行排序。
这个系统通过 `student` 类和 `studentMessage` 类实现了学生信息的管理和操作,是学习数据结构、链表操作以及面向对象编程的好例子。
2022-09-21 上传
2022-09-22 上传
2022-09-23 上传
2023-05-30 上传
2023-05-25 上传
2023-06-06 上传
2023-05-25 上传
2023-05-25 上传
2023-05-15 上传
-却道天凉好个秋
- 粉丝: 33
- 资源: 1
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析