假定有 n 门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),
总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不
得少于 60)自由选课。试设计一选修课程系统,使之能提供以下功能:
1.系统以菜单方式工作。
2.课程信息录入功能(课程信息用文件保存)——输入。
3.课程信息浏览功能——输出。
4.课程信息查询功能——算法。
查询方式
按学分查询。
按课程性质查询。
5.学生选修课程
不需要设定管理员
参考下面的文章,里面有源码。
可参考这个博客
- 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7621601
- 除此之外, 这篇博客: C语言实现八大排序算法详解及其性能之间的中的 这里需要对堆有一定的了解,堆就是一个比较特殊的完全二叉树,在最大堆里,每个节点的值都大于其左右两个孩子节点的值。这就是最大堆。反之就是最小堆。拿最大堆举例子,每次堆顶的元素值,不就是当前数列的最大吗?这不就成选择排序里的简单排序了吗?找完之后,将他和完全二叉树里最后一个结点的值进行交换,然后做一个自顶向下的自我调整,将他再次调整成一个完全二叉堆。第二次取最大的树,这时我们需要将上一次找到的结点屏蔽掉,不然会陷入一个死循环。无数次找完之后,再按层序的思想将二叉树里的数据遍历到一个数组当中,这时的数组为一个有序的数组。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
算法思想