Skip to content

学生管理系统---数据结构/程序设计

要求

  • 请设计一个学生成绩管理系统。学生信息包括学号、姓名、性别、英语、数学、程序设计、数据结构、总分、名次等内容。请实现如下功能:
    • 学生信息的录入(并能够检查学号重复者、成绩不超过100分检查,计算总分);
    • 学生信息的查询(可以按照学号和姓名两种方式查询);
    • 学生信息的修改(一律按照学号对应修改,仅对四门课程成绩修改);
    • 学生总分的排序(要求稳定排序,有相同分数时按照并列名次处理);
    • 学生信息的输出;
    • 退出管理系统;

效果图

Gif 动图


各界面图

主界面

录入界面

查找界面

输出/修改界面


源代码下载

若以下显示需要登录,请刷新页面或点击此处下载。


流程图

学生管理系统流程图


思路与算法

  • 数据结构
    • 双向链表(使用STL的list)
  • 算法
    • 插入:尾插法(list::push_back())
    • 排序:二路归并(其实最好是采用基数排序)
    • 查找:顺序查找

注意

  • 本例中使用了SLT的list,但查找,排序算法是自己写的。其实用我自己的双向队列后实现查找排序会简单很多,但由于需要使用到coolfun中的一些控制台界面函数(coolfun::switch_show_change),因此骑虎难下。
  • 本例中是使用了包含大部分自己写的函数的函数库coolfun,将会在后续文章中介绍它。