资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
妖玄即龟大串世亿停fitCentury College, BeijingUnivorsity of Posts and lelecommunications课程设计报告课程设计名称数据结构课程设计专业计算机科学与技术班级2学号10030222姓 名田隽霏指导教师于桂玲成绩2012 年 2 月 2 6 日数据结构课程设计题目运动会分数统计目录第一章 设计任务与要求 11.1 总体目标与任务要求 11.2 题目选择与目的意义 11.3 所选题目的主要工作 1第二章 需求分析 22.1 用户需求分析 22.2 功能需求分析 (模块图) 22.3 系统需求分析 (开发环境、工具) 4第三章 概要设计 43.1 各模块的算法设计说明 43.1.1 数据结构定义 43.1.2比赛成绩输入模块 53.1.3比赛成绩输出 73.1.4查询比赛成绩模块 93.2 存储结构设计说明 11第四章 详细设计 11第五章 关键代码说明 11第六章 运行结果分析 23第七章 收获与体会 29第八章 主要参考资料 29第一章 设计任务与要求1.1 总体目标与任务要求1 实验描述参加运动会有N个学校,学校编号为1m,女子m+1 m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7.5.4.2.1 ,前三名的积分分别为:5、3、2;哪些取前五名或前三名由自己设定。(mv=20, n=20)2. 实验要求功能要求:1)可以输入各个项目的前三名或前五名的成绩2)能统计各学校总分,3)可以按学校编号、学校总分、男女团体总分排序输出;4)可以按学校编号查询学校某个醒目的情况;可以按项目编号查询取得前三或前五名 的学校1.2 题目选择与目的意义题目:运动会分数统计意义; 随着社会的进步,体育事业的发展,为了提高运动会成绩统计准确,减少设 计者们的工作量,开发了本系统。1.3 所选题目的主要工作规定:输入数据形式和范围:20 以内的整数(如果做的更好可以输入学校 的名称,运动项目 的名称)输出形式:有中文提示。各学校分数为整数 界面要求:有合理的提示,每个功能可以设定菜单,根据提示,可以完成相关的功能要 求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在 数据文件中。测试数据:要求使用 1、全部合法数据;2、整体非法数据; 3、局部非法数据。进行程序 测试,以保证程序的稳定。第二章 需求分析2.1 用户需求分析运动会分数统计方案适合采用结构体数组,为了实现系统功能,主要应实现以下几部分 比赛成绩输入,比赛成绩输出,查询比赛成绩,调用统计结果等。2.2 功能需求分析 (模块图)运动运分数统计程序退出系统图 1 功能模块图(1) 比赛成绩输入模块 比赛成绩输入模块分为:创建信息部分,该部分需输入学校编号,项目编号 取得的名次,以及哪些名次;算法部分,得到排序结果。(2) 比赛成绩输出模块 将以输入的数据按照输出比赛菜单的选择输出相应的数据。(3) 查询比赛成绩模块 按照查询比赛结果菜单和其查询方式子菜单查询需要的数据。(4) 调用统计结果 将输入的各学校运动会成绩排序输出。2.3 系统需求分析(开发环境、工具 )本程序在运行期间,为了避免在大量运行数据时出错,并能够在很短的时间内 将统计结果稳定的输出,就需要系统达到安全性能好,可靠性高,稳定性强,处理数 据迅速等特点。第三章 概要设计3.1 各模块的算法设计说明3.1.1 数据结构定义要有各模块之间的关系图、算法的流程图。建立结构体如下:typedef structint itemnum; /项目编号int top; /取名次的数目int range5; /名次int mark5; /分数itemnode;/定义项目结点的类型typedef struct int schoolnum;/ 学校编号int score;/学校总分int mscore;/男团体总分int wscore;/女团体总分itemnode cm+w;/项目数组headnode;定义头结点类型3.1.2 比赛成绩输入模块比赛成绩输入模块需要输入学校编号,项目编号,取得的名次,以及哪些名次 算法模块流程图如图 2 所示.Int I,jk,s;YinYjm+wllj=ONk=0kn时输出错误:这个学校没有参加此次运动会!否则,输入项目编号,如果jm+wlj=0, 输出此次运动会没有这个项目。否则,使用for循环输出相关数据,从而实现查询功能。3.2 存储结构设计说明每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。第四章 详细设计程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现的,用文件的形式把 各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。第五章 关键代码说明测试说明:软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤 从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测 试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各 阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输 出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪 费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。测试数据过程如下。(1) 输入功能测试输入数据 1: 1 1 1 3 3 1 2 32 3 2 2 32 1 3 2 1 32 3 3 1 2 3预期结果:学校编号: 1学校总分: 15男团总分: 10女团总分:5 项目编号:1 所取名次数:3 名次:1 名次:2 名次:3 分数:5 分数:3 分数:2 项目编号:2 所取名次数:3 名次:2 名次:3 分数:3 分数:2 学校编号:2 学校总分:17 男团总分:7 女团总分:10 项目编号:1 所取名次数:3 名次:1 名次:3 分数:5 分数:2 项目编号:2 所取名次数:3 名次:1 名次:2 名次:3分数:5分数:3分数:2 运行结果: 学校编号:1 学校总分:15 男团总分:10 女团总分:5 项目编号:1 所取名次数:3 名次:1 名次:2 名次:3 分数:5 分数:3 分数:2 项目编号:2 所取名次数:3 名次:2 名次:3 分数:3 分数:2 学校编号:2 学校总分:17 男团总分:7 女团总分:10 项目编号:1所取名次数:3名次:1名次:3分数:5分数:2项目编号:2所取名次数:3名次:1名次:2名次:3分数:5分数:3分数:2 按照要求输入的数据能够显示正确的结果。源程序:#include#include#include #include #define n 2/学校数目#define m 1/男子项目数目#define w 1/ 女子项目数目#define null 0int flag1=1;int flag2=l;全局变量,用来标识是否已经向系统输入信息FILE *report;/定义项目结点的类型typedef structint itemnum; /项目编号int top;/项目取名次的数目,由用户定义3 或 5int range5; /名次int mark5;/分数itemnode;/定义学校结点类型typedef structint schoolnum;/学校编号int score;/
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号