学生成绩档案管理系统(实验准备)

实验任务

  • 学生信息录入,信息包括学号、姓名、专业、四门课成绩、总分、名次;
  • 系统可对学生信息浏览、增加、删除和修改;
  • 按学生成绩确定名次及信息输出,双向冒泡排序、希尔排序、快速排序、 堆排序。
  • 要求可对学生信息查询,根据学号或姓名进行查找;
  • 信息修改仅可修改四门课成绩;
  • 文件存取学生信息。

项目分析

  • 新增学生信息(包括学号、姓名、专业、4门课成绩……)
  • 浏览学生信息(对学生排序后信息进行浏览)
  • 删除学生信息(删除指定学生的信息,可给用户选择检索指定项)
  • 查找学生信息(查找符合条件的某条记录)
  • 保存学生信息(保存学生成绩档案信息到文本文件)
  • 加载学生信息(登录系统后将磁盘文件中保存的学生成绩信息读取到内存中)

编程语言的选择

  • 编程语言:Java
  • 开发工具:IntelliJ IDEA

实验思路

(1)定义类

1.学生信息类

  • 学号(number)

  • 姓名(name)

  • 专业(major)

  • 四门课成绩(score1,socre2,score4,score4)

  • 总分(score)

  • 名次(ranking)
    2.功能类

  • 新增学生信息(add)

  • 浏览学生信息(browse)

  • 删除学生信息(delete)

  • 修改学生信息(modify)
    (2)相关算法
    1.双向冒泡排序
    比较相邻两个元素的大小,如果前一个元素比后一个元素大,则两元素位置交换
    对数组中所有元素的组合进行上一步的比较
    奇数趟时从左向右进行比较和交换
    偶数趟时从右向左进行比较和交换
    当从左端开始遍历的指针与从右端开始遍历的指针相遇时,排序结束
    2.希尔排序
    希尔排序是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。
    3.快速排序
    通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
    4.堆排序
    堆排序法就是将所有待排序的元素组成一个堆,然后不断弹出堆顶的元素并调用函数维持堆序,直到所有元素均被弹出后,排序完成,被弹出的元素序列即一个有序数列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值