兰州商学院陇桥学院。
设计题目:运动会分数统计系统
系别:工学系。
专业 (方向):
年级、 班:
学生姓名。学生学号。
指导教师。2024年 12月25 日。
目录。一、 系统开发的背景1
二、 系统分析与设计1
一)系统功能要求1
(二)系统模块结构设计2
(三)数据类型及重要变量的定义3
三、系统的设计与实现3
(一)信息输入及分数统计函数:inputinforrnation3
(二)输出函数:output4
(三)查询函数:inquiry9
四、系统测试12
(一)测试main()函数12
(二)以系统的主界面,依次调试程序13
五、总结14
六、附件(源**15
运动会分数统计系统。
一、 系统开发的背景。
为了简便地对运动会的报名、成绩的录入和统计,使设计了本系统,以解决需求,进而巩固我们数据结构知识,加强我们的实际动手能力和提高我们综合素质。因此,课程设计要了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;提高程序设计和调试能力,学会有效利用基本调试方法,迅速找出程序**中的错误并且修改;培养算法分析能力。分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
二、 系通分析与设计。
一) 系统功能要求。
参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;取前五名的积分分别为,前三名的积分分别为;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)
1).可以输入各个项目的前三名或前五名的成绩;
2).能统计各学校总分,
3).可以按学校编号、学校总分、男女团体总分排序输出;
4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
5).规定:输入数据形式和范围:20以内的整数。
输出形式:有中文提示,各学校分数为整形
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
二) 系统模块结构设计。
通过对运动会分数统计系统问题的分析和设计要求,可以将该系统进行更好的分类,分为三大类。运动会分数统计系统功能结构图如图1所示。
图1:系统结构功能图。
通过对上图的功能分析,把系统分为三个模块:
1、 信息统计模块,该模块主要实现:信息的输入、统计、存档。在输入信息的同时进行分数的统计。
可以输入各个学校各项目前三名或前五名的成绩。在输入学校的参赛项目时,结果取前三名还是前五名自己定,用一个选择语句实现。利用swith语句前三名的分数赋为,前五名的成绩赋为,未取得成绩则赋为0。
并统计团体总分,男团总分和女团总分。
2、 信息输出模块,该模块主要实现:信息的输出。列出一个输出目录利用swich语句使函数按学校编号输出或按学校总分、男团总分、女团总分由高到低排序输出。
3、 信息查询模块,该模块主要实现:信息的查询。列出一个查询目录利用swich 语句使函数按学校编号或项目编号查询,输出某学校的某个项目的得分情况或某个项目的前几名的学校。
再利用循环语句do while( )当输入2是返回查询目录,输入0时跳出循环返回主菜单。
三)数据类型及重要变量的定义。
1)定义运动项目数据类型,用于存放运动项目,包括项目编号、项目所取名次数、名次、分数。
/定义项目结点的类型。
typedef struct
int itemnum;//项目编号。
int top; /项目取名次的数目,由自己定义3或5
int range[5];/名次。
int mark[5]; 分数。
}itemnode;
2)定义学校数据类型,用来存储参赛学校信息,包括学校编号、学校总分、男团总分、女团总分、项目数组。
//定义学校结点类型。
typedef struct
int schoolnum; /学校编号。
int score; /学校总分。
int mscore; /男团体总分。
int wscore; /女团体总分。
itemnode c[m+w];/项目数组。
schoolnode;
3)定义学校数组schoolnode h[n]。采用数组结构有利于随机的存储和查询。定义全局标志变量int flag1、flag2,分别用以标志是否已经向系统输入了信息和标志系统中是否已经存在信息。
定义文件指针file * report,用来指向存档的文件。
三、系统的设计与实现。
一)输入信息及分数统计函数:inputinformation()
分析:首先输入信息并同时进行分数的统计。该模块的具体**如下所示:
for(s=0;s
printf("*名次:")
scanf("%d",&h[i].c[j].range[s]);
/输入所获名次信息。
if(h[i].c[j].top==3)
switch(h[i].c[j].range[s])
case 0: h[i].c[j].mark[s]=0; break;
case 1: h[i].c[j].mark[s]=5; break;
case 2: h[i].c[j].mark[s]=3; break;
case 3: h[i].c[j].mark[s]=2; break;
elseswitch(h[i].c[j].range[s])
case 0: h[i].c[j].mark[s]=0; break;
case 1: h[i].c[j].mark[s]=7; break;
case 2: h[i].c[j].mark[s]=5; break;
case 3: h[i].c[j].mark[s]=3; break;
case 4: h[i].c[j].mark[s]=2; break;
case 5: h[i].c[j].mark[s]=1; break;
h[i].score=h[i].score+h[i].c[j].mark[s];
二)输出函数:output()
分析:利用辅助数组remember和冒泡排序的方法使之按分数的由高到低输出。利用循环语句do while( )当输入2时返回输出目录,输入0是跳出循环返回主菜单。
其流程图如图2所示。
否。case1 case2 case3 case4是。
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...