
运动会分数统计.doc
25页计 算 机 学 院 网 络 工 程 专 业数 据 结 构 课 程 设 计题 目: 运 动 会 分 数 统 计 班 级: 网工 07102 班 姓 名: 唐 晓 学 号: 18 同组人姓名: 廖洁银、刘敏、黄球 起 迄 日 期: 2009.2.23-2009.2.27 课程设计地点: E3-A512 指导教师: 席 金 菊 评阅意见:成绩评定:评阅人: 日期:完成日期:2009 年 2 月- 1 -目 录1、需求分析 .............................................................................................................- 2 -1.1 本程序主要函数及其功能: ......................................................................- 2 -2、概要设计 .............................................................................................................- 3 -2.1 原始数据 ......................................................................................................- 3 -2.2 主要函数的功能 ..........................................................................................- 4 -2.3 流程图 .........................................................................................................- 5 -3、详细设计 .............................................................................................................- 6 -3.1 设计思路 ......................................................................................................- 6 -4、调试分析和测 试结果 .......................................................................................- 14 -5、总 结 ...............................................................................................................- 16 -6、参考文献 ...........................................................................................................- 17 -7、致 谢 .............................................................................................................- 18 -附 录 .................................................................................................................- 19 -- 2 -1、需求分析运动会分数统计系统是一个非常实用的系统,为了方便运动会分数的统计,以及减少人工排名次的烦琐过程和巨大的计算量,我们设计了这种系统。
本程序设计中,可以输入参加运动会的学校信息及项目信息;根据具体情况选择输入参加项目的编号、名称、前 5 或 3 名学校的编号、成绩;而学校信息则包括编号、名称、学校总分、男女团体总分,还包含一个项目的结构体数组 演示程序以界面方式进行,运行程序后,将出现一菜单界面,用户可自行选择所要做的操作在输入数据之后,用户可以进行查询的操作,包括:按学校编号查询项目、按项目编号查询学校成绩;用户还可以分别按学校编号、学校总分、男女团体总分排序输出数据设计界面美观、实用 1.1 本程序主要函数及其功能: 1) 输入数据 输入各个项目的前三名或前五名的成绩2) 统计总分 统计各学校总分3) 查询相关记录 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校4) 按要求输出数据 可以按学校编号、学校总分、男女团体总分排序输出- 3 -2、概要设计任务:参加运动会有 n 个学校,学校编号为 1……w比赛分成 h 个男子项目,和 k 个女子项目项目编号为男子 1……h,女子 h+1……h+k不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。
(w8); /*选择项不在 0~6 之间重输*/return c; /*返回选择项,主程序根据该数调用相应的函数*/3. enter ( ) 输入函数 该函数主要可对项目信息进行输入在进行添加之前先输入项目的数目,再用 for 语句将进行循环输入,直到结束printf("请输入项目的数目 h(小于 20):");scanf("%d",&h);for(m=0;msch[j].num){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n 按编号排列:\n");printf("编号 学校名称 总分 男子总分 女子总分\n");for(i=1;i#includeint w;int h;struct pro //表示项目的结构体 { int nu; char nam; //项目名称 int snum[6]; //前 5 或 3 名学校的编号int temp;//标志 如果为 1 则是前五名,若为 0 则是前三名char scor;//成绩}p[20]; struct school //表示学校的结构体 { int num; char name; //学校名称 int score; //学校总分 int male; //男子总分 int female; //女子总分 struct pro s[21];}sch[20];void add(){int k,m;printf("请输入学校的数目 k(小于 20):");scanf("%d",&k);for(m=0;m8); /*选择项不在 0~6 之间重输*/return c; /*返回选择项,主程序根据该数调用相应的函数*/}void bianhao() //按编号排序{int i,j;struct school t;for(i=1;isch[j].num){t=sch[i];sch[i]=sch[j];sch[j]=t;}}printf("\n 按编号排列:\n");printf("编号 学校名称 总分 男子总分 女子总分\n");for(i=1;i<=w;i++)printf("\t\t%d\t\t%s\t\t%d\t\t%d\t\t%d\n",sch[i].num,sch[i].name,sch[i].male+sch[i].female,sch[i].male,sch[i].female);}void zongfen() //按学校总分排序{int i,j;struct school t;for(i=1;i












