如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
需求分析------------------------------------------------------2概要设计------------------------------------------------------2模块设计------------------------------------------------------3详要设计------------------------------------------------------5调试分析------------------------------------------------------8用户使用说明--------------------------------------------------15参考文献------------------------------------------------------15对软件自我评价------------------------------------------------15程序设计源代码------------------------------------------------16心得体会-----------------------------------------------------22一.需求分析1.1问题描述课程设计题目:运动会分数统计。任务:加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)问题分析:1)、每个学校有运动员要参加运动项目,故存储结构要有三个,项目结构体,学生信息结构体和学校链表。每个结点存储一个学校,每个学校可以有多名运动员参加运动项目。由此,存储结构就建立了。2)、要求不同的项目根据具体情况取去前五名或前三名积分,则可以设定标准,即当参加某项目的运动员数等于或多于五人时,就取该项目的前五名进行积分,取前五名的积分分别为:7,5,3,2,1。当参加某一项目的人数少于五人时,则去该项目的前三名进行积分,去取前三名的积分分别为:5,3,2。3)、要求能统计学校的总分,并可以按学校编号输出每个学校的参赛信息及每个学校每个运动员的信息和所有运动项目清单。以上这些功能可以通过遍历学校链表来实现。4)、要求可以学校编号查询学校某个项目的情况,用户输入学校编号和项目编号,通过遍历学校链表即可实现。5)、要求可以按编号查询取得前三或前五名的学校,用户输入要查询的项目的编号,通过遍历学校链表即可实现。6)、设置菜单函数menu(),产生用户界面。规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。1.2基本任务通过用户调查分析及实际需求,系统需要实现如下基本任务:.输入各个项目的前三名或前五名的成绩;.统计各学校总分;3).按学校编号或名称、男女团体总分排序输出;4).按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。数据存入文件并能随时查询。二.概要设计为了完成需求分析的基本任务,主要从以下3个方面进行设计:2.1主界面设计为了实现运动会分数统计的各项功能,设计了一个含有多个菜单项的主控菜单模块以链接系统的各项功能,以方便用户使用系统。系统主控菜单运行界面如图1所示:图1运动会分数统计主菜单2.2数据结构设计系统采用数据的存储结构定义:运动项目结构体、运动员信息结构体、学校链表此外,还定义了一些全局变量:学校总数SchoolCount、男生项目总数BoyProject、女生项目总数GirlProject、项目总数TotalProject、项目表Project_T[41]。2.3系统功能设计⑴.创建学校的链表:voidCreatSchoolLink(School&head);⑵.添加获奖学生:voidAddStudentLink(School&head);⑶.按项目编号查询取得前三或前五名的学校。voidFind_Project_ID(School&head,in