研究生入学考试成绩处理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计
目:研究生入学考试成绩处理系
统院: 级: 名:
口
号: 师:
2013年11月27日
课程设计任务书
印象最深刻的是在二叉树的第一个兀素是下标从 1开
始,而顺序表的数组的下标是从 0开始,这个细节总会导 致内存出错,最后通过在堆排序过程中,先将数组后移,
排序完后将数组在前移解决了这个问题,因此印象较为深 刻,其他的调试错误,一般都是在程序测试的过程中 改正,问题不大。
本系统能择优选择出研究生考试成绩好的,进而可以大大减少人们的工作量。
1、准备阶段:建立课题,准备相关的资料。
3、总结阶段:将程序运行,填写实验报告。
输入学生成绩后,系统便会按要求对成绩进行排序,选取成绩高的,然后输出。
姓名 设计题目
研究生入学考试成绩处理系统
理论要点
设计目标 研究方法 步骤
2、实施阶段:编写相关的程序,查阅书籍。
预期结果
班级 学号
1、第一天:寻找设计题目,安排进度。
2、第二天:查阅资料,进行设计前必要的资料准备。 4、第二周的第一天至第三天上机调试程序、 结果分析。 5、第二周的第四天:撰写设计报告。
计划与进 步的安排
3、第三天、第四天、第五天:程序编写、上机调试
摘要
题目分析
概要设计
详细设计
3.1 数据结构设计
3.2 算法设计
调试分析
用户使用
测试结果
结论体会
8 参考文献
9 源程序目录
11
12
13
摘要
众所周知,每年都会有一大批大学生选择考研究生,这就给各
大高校的招生工作带来巨大的压力,招生需要对研究生考试的三门成绩做排序,然后择优录取,这个工作异常繁琐,这就需要一个软件,能对他们的成绩做排序,而且也要保证这个程序在排完序之后能做进一步的处理,能选择出成绩好的输出,而且需要保证这个程序操作简单,正确率高,这能为我们的阅卷老师减轻很大的压力。
关键词:成绩、择优、排序、输出
1题目分析
假设某大学计算机应用技术专业招收研究生n名,现在要根据报
考者的考试成绩择优录取。考试课程有政治、英语、数学、专业综合四门。考试成绩分为两类:第一类为每门课程都达到最低录取线;第二类为有一门或多门课程未达到最低录取线。录取方法是在每门课程达到最低录取线的考生中按总分从高到低录取。试设计一个成绩处理程序实现以上功能。
根据录取方法,打印输出n份录取通知书,列出录取者四门课程
的成绩及总分(要求采用堆排序)。并能实现对任一考生或任一门课程成绩的查找(要求两种查找方式,根据考号或姓名进行查找,采用高效的查找算法)。录取通知书的格式如下:
+J
+J
込終鸡(姓名卜,
You have been admitted^
Your gear出*
Politics
English
Mathematics
Major
Total
(图一)総亦绩”XXd
XX屮
XX*'
XX"
数据结构课程设计
+J
2概要设
计
MiaiiO+"
i■-
p讪琥)4
F
PanDwn
.()d
乳断该学生是否
符合录取资
Heap Sort ()
屮
Display (〕4
对符合录乐■逝
幣的学生按总
分进行割Effp
Find () 4
/tJEPS 取通、\ (知
书屮
)
查找并输出
结為
(图
二)
(1)数据结构设计
由于本题明确要求在进行排序时必须采用推排序的算法, 而堆排
算法的实现。
typ edef struct {
stri ng n ame; int Politics; int En glish; int Mathematics;
int Major; int Total; stri ng Num; }Stude nt;
(2)算法设计
由于题目要求本程序的查找是针对考号和姓名两种方式进行 查找的,而不是针对相应的可比较的数据进行查找,所以像二叉 查找和二叉排序树这些查找方法基本都用不上,因此本程序采用 的是“蛮力”查找的方法,及对整个结构体数组进行遍历,而与 要查找的信息一一进行对比,只不过在进行比较的过程中用的是
string 类中的重载“二”,这样更加的方便快捷。
而堆排序的算法,由于学生成绩的录取是一个从高分到低分 排序的过程,因此推排序的算法就是一个建立“大顶堆”的一个 过程。
4调试分析
由于查找的算法是用的“蛮力”的算法,而对成绩的录入也非
常的简单,因此详细设计这一块主要说说堆排序的详细设计算法。
堆排序的详细设计分析:首先题目要求是按四门课程的总分进行排 序,由此我们知道我们要建立的堆是一个 “大顶堆”,而建堆过程中 主要解决的两个问题是:(1)如何由一个无序序列建成一个堆? (2)
3详细设
计
序最常采用的数据存储结构便是顺序表存储结构, 因此在我的设计中 是采用的结构体数组将各个学生的信息进行存储, 同时这也方便排序