资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课 程 设 计 报 告课程名称 数据结构课程设计 课题名称 成绩分析问题 专 业 计算机科学与技术 班 级 计算机 0803 学 号 姓 名 指导教师 2010年 9 月 10 日课 程 设 计 任 务 书课程名称 数据结构课程设计 课 题 成绩分析问题 专业班级 计算机 0803 学生姓名 学 号 指导老师 审 批 任务书下达日期: 2010 年 9 月 10 日任 务 完 成 日 期 : 2010 年 9 月 24 日一 、 设 计 内 容 与 设 计 要 求1设计内容:1)问题描述录入、保存一个班级学生多门课程的成绩,并对成绩进行分析。2)基本要求a.通过键盘输入各学生的多门课程的成绩,建立相应的文件 input.dat。b.对文件 input.dat中的数据进行处理,要求具有如下功能: 按各门课程成绩排序,并生成相应的文件输出。 计算每人的平均成绩,按平均成绩排序,并生成文件。 求出各门课程的平均成绩、最高分、最低分、不及格人数、60-69 分人数、70-79 分人数、80-89 分人数、90 分以上人数。 根据姓名或学号查询某人的各门课成绩,重名情况也能处理。c.界面美观。3)测试数据测试数据如下表所示:学号 姓名 高等数学 英语 计算机导论001 张磊 80 73 90002 王鹏 76 69 70003 黎明 60 78 69004 刘鹏 55 66 60005 李四 78 70 80006 张佳 43 50 60007 赵平 89 85 79008 高洁 90 89 702设计要求: 课程设计报告规范1)需求分析a.程序的功能。b.输入输出的要求。2)概要设计a. 程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。b. 课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。3)详细设计a.采用 C语言定义相关的数据类型。b.写出各模块的类 C码算法。c.画出各函数的调用关系图、主要函数的流程图。4)调试分析以及设计体会a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。b.程序调试中遇到的问题以及解决问题的方法。c.课程设计过程经验教训、心得体会。5)使用说明用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。6)书写格式见附带说明。7)附录a.参考书目b.源程序清单(带注释) 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分: 平时出勤 (占 10%) 系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占 10%) 程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占 40%) 设计报告(占 30%)注意:不得抄袭他人的报告(或给他人抄袭) ,一旦发现,成绩为零分。 独立完成情况(占 10%) 。 课程验收要求 运行所设计的系统。 回答有关问题。 提交课程设计报告。 提交软盘(源程序、设计报告文档) 。 依内容的创新程度,完善程序情况及对程序讲解情况打分。二、进 度 安 排第 2周星期一 星期二 星期三 星期四 星期五 星期六 星期日上午8:0012:00 下午13:3017:30 晚上18:0020:00第 3周星期一 星期二 星期三 星期四 星期五 星期六 星期日上午8:0012:00 下午13:3017:30 晚上18:0020:00附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4 大小的图纸及程序清单) 。 正文的格式:一级标题用 3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为 22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图) ;三、主要功能的实现(至少要有一个主要模块的流程图) ;四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释) 。正文总字数要求在 5000字以上(不含程序原代码) 。 目录一课题的主要 功能 .7二功能模块的划分 .8三主要功能的实现 .9四.程序调试 .11五.总结 .14六附件 .15一 课题的主要功能本课题的主要功能是实现学生成绩的分析,成绩的分析包括以下几个方面:a.对成绩的统计;b.学生对自己成绩的查询,其中查询有两种方式按名字查询和按姓名查询(其中按姓名的查找考虑了同名的情况,如果同名就会出现友情提示,按学号查找) ,c.对某一门成绩的平均成绩的查询,可以分开查几门课的平均。d.对学生的某一门成绩的排序,而且可以按这一门成绩的分数,从高到低的顺序输出各个学生的每门成绩和平均成绩。最后就是退出的功能。此系统主要是针对学生的成绩的分析,查询,以及班级成绩的分析,只要运行一次,第一次输入的数据就会以文件的方式保存在电脑的硬盘里面,下次运行的时候就不用输入数据而可以直接可以利用这些数据。该系统每个功能都是由我们根据菜单的提示,提示我们输入功能选项,输入某一项就会通过内在的函数调用实现相应的功能。为了方便,该程序成绩以及其他用到的数据都是整型的。二 功能模块的划分三 主要功能的实现成绩分析系统中主要的用到的有两个结构体,一个是 node,另一个是 md,而且这两个结构体有密切的关系,md 结构体的一个数据成员就是 node类型的数据,该系统的我采用程序的头文件的方式,将各个功能模块包括在一个头文件里面,所以次系统的功能模块的层次非常的清晰。下面我来一一介绍一下划分的主要的功能模块:其中主菜单放在 source文件里面,里面还包含了#include define.h #include creat.h #include sort.h #include find.h #include tongji.h各个功能模块用以实现不同的功能。主函数在这个文件里面,所以每次运行的时候都要从这个文件开始,在主函数里面有个判数据文件的存在的函数,如果数据文件不存在就会调用 creat函数来创建一个 md类型的结构体数据,否则就直接可以读写保存的数据文件的数据,并且将它赋值给一个 md类型数组以提供利用,主函数里面有一循环用来显示主菜单,用来提供功能的选择,没选择一个功能就会调用对应的功能函数,以用来实现对应的功能。define.h文件作用是将一些用到的数据将以定义。sort.h 主要用来对英语、数学和计算机单门成绩的排序,并且将这些同学的成绩都以这门成绩的排序显示在屏幕上,这个文件里面有要到了 fun1和 sort函数,fun1 的作用是功能的选择你选择哪一门成绩的排序。Sort 函数就是将前面所选择的功能实现,它的主要作用就针对你选择的科目进行排序,而且在 sort的函数里面调用了 disp函数,目的是将排好序的成绩显示在屏幕上。creat.h 用途是假如你是第一次在难的电脑上运行程序或者要在屏幕上显示数据时就要调用这个文件。在这个文件里面调用了两个函数creat 函数和disp函数,creat 函数就是要创建 md类型的数据类型时就调用它,而 disp函数顾名思义就是用来显示数据用的。find.h 主要用来查找学生的成绩和对班级某一门课的平均成绩的统计。在 find.h文件中用到了 fun2、fun3、find_nu、find_na,下面我对每个函数的功能一一进行分析。fun2 就是对某个班级的某门成绩的平均成绩的统计,并且直接在屏幕上显示出来,fun3 中有个 while循环,它主要作用是显示查找的主菜单,也就是说提示你选择查找的方式,如:按姓名查找、按学号查找,并针对选择的功能不同可以调用不同的函数,以实现我们想要的功能。例如你选择按学号查找就会调用find_nu函数果选择按姓名查找那么就会调用 find_na函数,如果有同名的同学那么就会出现友情提示。系统会告诉你按学号查找,从而调用 find_nu函数。最后 tongji.h文件的功能是对某一门课的成绩的不同分数段的同学进行统计,其中 tongji的功能就是现实统计对象的主菜单,用来选择不同的统计对象,如果选择的对象不同那么传递给 tongji1 的函数的实参就会不同,从而实现对不同的科目成绩的统计。流程图开始Access()=1 NoCreat()输入数据判断selectSelect=1fun1()select=2fun2()select=5 select=3fun3()select=4tongji()退出系统输入select的值sort()参数不同功能不同不同输入select 值根据输入不同计算出各门课均值输入select判断selectselect=1find_nu()select=2find_na()输入selecttongj
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号