欢迎来到天天文库
浏览记录
ID:9667431
大小:786.71 KB
页数:36页
时间:2018-05-05
《数据结构课程设计--学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计报告]课程名称数据结构课题名称学生成绩管理系统专业通信工程2015年7月2日36目录一、课程设计的分析41.课程设计目的:42.课程设计题目43.需求分析5二、概要设计5三、详细设计6四、调试分析11(1)调试过程中遇到的问题11(2)经验和体会11五、用户使用说明12六、测试结果13七、附录18八、课程设计评分表3736一、课程设计的分析1.课程设计目的:课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,实习题中的问题比平时的习题复杂得多,也更接近实际。实习着眼于原理与应用的结合点,
2、使读者学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的练习较偏重于如何编写功能单一的“小”算法,而实习题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。2.课程设计题目【课题】学生成绩管理系统【问题描述】根据自己这个学期的课程表,设计一个成绩管理系统管理自己班的成绩;每个学生记录包含学号、姓名、每门课程成绩、总分以及加权平均分。【基本要求】一个完整
3、的成绩管理系统应具有以下功能:(1)输入:成绩录入;(2)输出:输出成绩表;(3)插入:在成绩表中适当位置插入某个学生成绩;(4)删除:在成绩表中删除某个学生成绩;(5)查找:根据某个关键字查找某个学生成绩;(6)排序:根据某一个或某几个关键字进行排序;(7)筛选:根据某个关键字筛选出符合某些条件的数据;【测试数据】用本班的成绩总表作为测试数据。363.需求分析本次课程设计的题目是学生成绩管理系统,要求可以存入学生,学生信息包括学生学号、姓名、每科成绩和平均成绩以及加权平均成绩等。该系统主要有以下七个功能,即对学生信息进行:输入、输出、插入、
4、删除、查找、排序、筛选等功能。对学生进行操作可以有很多思路,而我选用的是单链表村学生信息那一条思路,即设置一个单链表,其中节点数据域保存学生基本信息。由于我们学号比较长,用整型数据无法保存,所以我定义char型的字符串来保存学号和姓名。用一个数组来保存学生每一科的成绩,此外在定义一个总分和平均分变量。定义学生如下:typedefstructStudent{charmun[12];//学号charname[20];//姓名floatscore[8];//成绩floatall_score;//总分floatave_score;//加权平均分str
5、uctStudent*next;}LinkList;二、概要设计本程序采用链表的方法将每一个学生设置成为一个链表中的数据节点,节点中有字符型mun[12](学号)、name[20](姓名)、浮点型数据score[8](放置每一科成绩的数组)、all_score(总分)和ave_score(加权平均分)。主函数中在执行成绩管理系统之前会先创建一个链表,并调用voidInitList(LinkList*&L)函数来初始化链表;而后进入菜单选择项选择功能进行操作,主程序流程图如下:36三、详细设计1、添加学生:2、输出学生:创建节点sLinkLis
6、t*p=L->next;输入学生信息,计算总分与加权分for(m=1;m<=总人数&&p!=NULL;m++)r->next=s;r=s;(尾插法插入链表)输出学生信息,p=p->nextcount=count+1;学生总数加1363、插入学生4、删除学生输入要插入的位置数字选择删除方式scanf("%d",&w);按编号删除和学号删除调用插入函数1编号调用Delete_StudentInsert_Student(h,w);2学号调用Locate_Student找到学生位置,在用Delete_Student的流程图如下:Insert_Stud
7、ent函数Delete_Student的函数流程图:36Locate_Student函数的流程图与如下:Locate_Student1的流程图类似,不再重复了365查找学生:调用Seek_Student函数,分为按学号查找和按姓名查找1按编号调用Locate_Student函数返回i在调用Out_one_Student输出第i个学生2按姓名调用Locate_Student1函数返回i在调用Out_one_Student输出第i个学生6排序函数调用Queue_Student函数:其中有按学号,总分,各科成绩排序我这里采用的是冒泡排序法进行排序,
8、分别定义了两个节点指针q指向头指针p指向q的下一个节点,在进入双重循环进行比较排序流程图如下:排序的方法都类似,知识比较数据不同,所以就没有一一画出来了367筛选创
此文档下载收益归作者所有