运动会分数统计系统课 程 设 计 报 告数 据 结 构院系:专业:班级:学号:姓名:教师:时间:一、问题描述1、功能任务:参加运动会有n 个学校,学校编号为1⋯⋯n。比赛分成m 个男子项目,和w 个女子项目。项目编号为男子1⋯⋯m ,女子 m+1⋯⋯m+w 。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20 ),按要求实现相应的数据输入、查询、计分等功能。2、数据建议输入学校的名称,运动项目的名称等,其余信息学生自行设计;输出形式:有合理的提示,各学校分数为整形;数据的存储结构自行设计。建议运动会的相关数据要存储在数据文件中。3、操作1)可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。4、要求提供系统菜单,界面友好,提示信息完整。二、系统分析及设计1、需求分析根据运动会分数统计系统的问题分析及设计要求,可以将此系统分为四个模块:信息统计模块、信息输出模块、信息查询模块、信息调用模块。其系统功能结构图如图所示。(1)、信息统计模块实现信息的输入、统计、存档。(2)、信息输出模块实现信息的输出。(3)、信息查询模块实现信息的查询。(4)、信息调用模块实现信息的调用,即从文件中读出信息并输出。2、概要设计此系统采用顺序存储结构存储,定义了一个结构体数组存放参赛学校的信息。之所以采用顺序存储结构,是因为用它来实现信息的存储、查询比较方便,节省时间,效率高,而且也方便把信息写入文件以及读取文件。(1)、结构体定义如下:①、定义运动项目数据类型,用于存放运动项目的信息,包括项目名称、项目编号、用户自己定义的取前3 名还是前5 名的积分、名次、分数。typedef struct { char proname[10]; //项目名称int pronum; //项目编号int top; //取前 3 名或前 5 名积分,由用户自己定义int range[5]; //名次int mark[5]; // 分数}Pronode; //项目结点类型定义②、定义学校数据类型,用于存放参赛学校的信息,包括学校名称、学校编号、学校总分、男子团体总分、女子团体总分以及项目数组。typedef struct { char schname[20]; //学校名称int schnum; //学校编号int score; //总分in...