学生管理系统---数据结构/程序设计
要求
- 请设计一个学生成绩管理系统。学生信息包括学号、姓名、性别、英语、数学、程序设计、数据结构、总分、名次等内容。请实现如下功能:
- 学生信息的录入(并能够检查学号重复者、成绩不超过100分检查,计算总分);
- 学生信息的查询(可以按照学号和姓名两种方式查询);
- 学生信息的修改(一律按照学号对应修改,仅对四门课程成绩修改);
- 学生总分的排序(要求稳定排序,有相同分数时按照并列名次处理);
- 学生信息的输出;
- 退出管理系统;
效果图
Gif 动图
各界面图
主界面
录入界面
查找界面
输出/修改界面
源代码下载
若以下显示需要登录,请刷新页面或点击此处下载。
流程图
学生管理系统流程图
思路与算法
- 数据结构
- 双向链表(使用STL的list)
- 算法
- 插入:尾插法(list::push_back())
- 排序:二路归并(其实最好是采用基数排序)
- 查找:顺序查找
注意
- 本例中使用了SLT的list,但查找,排序算法是自己写的。其实用我自己的双向队列后实现查找排序会简单很多,但由于需要使用到coolfun中的一些控制台界面函数(coolfun::switch_show_change),因此骑虎难下。
- 本例中是使用了包含大部分自己写的函数的函数库coolfun,将会在后续文章中介绍它。