| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

运动会分数统计系统实验报告

文***享

贡献于2021-01-07

字数:8342

运动会分数统计系统实现

计科班




设计求
1问题描述
参加运动会n学校学校编码12…n赛分成m男子项目w女子项目项目编号男子12…m女子m+1m+2…m+w项目取前五名前三名积分取前五名积分分75321前三名积分分532取前五名前三名学生设定(m<20n<20)
2需求分析
(1)输入项目前三名前五名成绩
(2)统计学校成绩
(3)学校编号学校总分男女团体总分排序输出
(4)学校编号查询学校某项目情况项目编号查询取前三名前五名学校

二概设计
1界面设计
实现运动会分数统计系统设计含菜单项控菜单子程序连接系统项子程序方便户程序系统控菜单运行界面图1示

图1 运动会分数统计系统程序菜单
2存储结构设计
程序采链式存储类型(LNode)存储运动会分数统计系统节点信息运动会分数统计系统链表中结点包括8域:项目编号域(objnum)项目类型(objtype)运动员编号(athnum)运动员姓名(athname[20])学校编号(schnum)校名(schname[30])运动员分数(athscore)指节点指针欲(struct LNode *next)
3系统功设计
系统设置8子功菜单8子功设计描述:
(1)录入项目成绩函数creatLink()实现户选择该功时系统会户输入数运动会分数统计链表
(2)统计学校分数函数schoolScore()实现户选择该功时系统会统计学校分数
(3)学校编号序输出函数printfSchoolNumber()实现户选择该功时系统会学校编号序输出数
(4)学校总分序输出函数printfSchoolScore()实现户选择该功时系统会学校总分序输出数
(5)男女团体总分序输出函数printfManWomanScore()实现户选择该功时系统会男女团体总分序输出数
(6)学校编号查询学校某项目情况函数printfSchoolObject()实现户选择该功时系统会学校编号输出学校某项目情况
(7)项目编号查询取前三名前五名学校函数printfObjectSchool()实现户选择该功时系统会项目编号查询取前三名前五名学校情况
(8)退出exit(0)函数实现

三模块设计
1模块设计
程序包含两模块:程序模块工作区选择模块调关系图2示
程序模块
工作区选择模块

图2 模块调示意图
2系统子程序功设计
系统设置6子程序子程序函数名功说明
(1) LinkList creatLink() 创建链表(录入项目成绩)
(2) int schoolScore(LinkList L) 统计学校总分
(3) void printfSchoolNumber() 学校编号序输出
(4) void printfSchoolScore() 学校总分序输出
(5) void printfManWomanScore(LinkList L 男女团体总分排序输出
(6) void printfSchoolObject(LinkList L) 学校编号查询学校某项目情况
(7) void printfObjectSchool(LinkList L) 项目编号查询取前三名前五名学校
(8) int main() 函数
3函数调关系图
系统6子系统间调关系图3示图中数字函数编号
8 main()
1
2
3
4
5
6
7

图3 系统函数调关系图

四详细设计
1数类型定义
(1)系统采链式结构存储运动会分数统计结点节点定义:
typedef struct LNode{ 链表节点数结构
int objnum
char objtype
int athnum
char athname[20]
int schnum
char schname[30]
int athscore
struct LNode *next
}LNode*LinkList
(2)学校情况数结构结构定义成结构体数组形式定义:
struct School{
int schoolnumber
char schoolname[30]
int schoolscore
}school[30]
2系统子程序详细设计
(1)创建链表(录入项目成绩)子程序设计
LinkList creatLink(){
LinkList L(LinkList)malloc(LEN)
LinkList pq
int numobjnumn
char objtype
L>nextNULL
pL
printf(请输入男女项目总数)
scanf(d&num)
while(num){
printf(请输入项目编号)
scanf(d&objnum)
printf(请输入项目类型)
getchar()
objtypegetchar()
printf(请输入3(代表取前三名)5(代表取前五名))
scanf(d&n)
printf(请名次序输入运动员编号姓名学校编号校名成绩\n)
while(n){
q(LinkList)malloc(LEN)
q>objnumobjnum
q>objtypeobjtype
printf(请输入运动员编号)
scanf(d&q>athnum)
printf(请输入运动员姓名)
getchar()
scanf(sq>athname)
printf(请输入学校编号)
scanf(d&q>schnum)
printf(请输入校名)
getchar()
scanf(sq>schname)
printf(请输入成绩)
scanf(d&q>athscore)
q>nextNULL
p>nextq
pq
}
}
return(L)
}

(2)统计学校总分子程序设计
int schoolScore(LinkList L){
LinkList p
int i
pL>next
for(i0i<20i++){
school[i]schoolscore0
school[i]schoolnumber1
}
while(pNULL){
for(i0i<20i++){
if(school[i]schoolnumber1){
strcpy(school[i]schoolnamep>schname)
school[i]schoolnumberp>schnum
school[i]schoolscorep>athscore
pp>next
break
}
else if(school[i]schoolnumberp>schnum){
school[i]schoolscore+p>athscore
pp>next
break
}
}
}
return 0
}

五测试分析
1创建链表(录入项目成绩)
菜单户输入1回车然输入数结点数回车输入数运行结果图4示

图4 链表建立(录入项目成绩)



2统计学校总分
菜单户输入2回车运行结果图5示

图5 统计学校总分
3学校编号序输出
菜单户输入3回车运行结果图6示

图6 学校编号序输出数
4学校总分序输出
菜单户输入4回车运行结果图7示

图7 学校总分序输出数

5男女团体总分排序输出
菜单户输入5回车运行结果图8示

图8 男女团体总分排序输出数
6学校编号查询学校某项目情况
菜单户输入6回车输入学校编号回车然输入项目编号运行结果图9示

图9 学校编号查询学校某项目情况
6项目编号查询取前三名前五名学校
菜单户输入7回车输入项目编号回车然输入取名规运行结果图10示

图10 项目编号查询取前三名前五名学校
8退出
菜单户输入0回车运行结果图11示

图11 退出程序
六源程序清单
#include
#include
#include
#define NULL 0
#define LEN sizeof(LNode)
typedef struct LNode{ 链表节点数结构
int objnum
char objtype
int athnum
char athname[20]
int schnum
char schname[30]
int athscore
struct LNode *next
}LNode*LinkList
学校情况数结构
struct School{
int schoolnumber
char schoolname[30]
int schoolscore
}school[30]
创建链表
LinkList creatLink(){
LinkList L(LinkList)malloc(LEN)
LinkList pq
int numobjnumn
char objtype
L>nextNULL
pL
printf(请输入男女项目总数)
scanf(d&num)
while(num){
printf(请输入项目编号)
scanf(d&objnum)
printf(请输入项目类型)
getchar()
objtypegetchar()
printf(请输入3(代表取前三名)5(代表取前五名))
scanf(d&n)
printf(请名次序输入运动员编号姓名学校编号校名成绩\n)
while(n){
q(LinkList)malloc(LEN)
q>objnumobjnum
q>objtypeobjtype
printf(请输入运动员编号)
scanf(d&q>athnum)
printf(请输入运动员姓名)
getchar()
scanf(sq>athname)
printf(请输入学校编号)
scanf(d&q>schnum)
printf(请输入校名)
getchar()
scanf(sq>schname)
printf(请输入成绩)
scanf(d&q>athscore)
q>nextNULL
p>nextq
pq
}
}
return(L)
}
统计学校总分
int schoolScore(LinkList L){
LinkList p
int i
pL>next
for(i0i<20i++){
school[i]schoolscore0
school[i]schoolnumber1
}
while(pNULL){
for(i0i<20i++){
if(school[i]schoolnumber1){
strcpy(school[i]schoolnamep>schname)
school[i]schoolnumberp>schnum
school[i]schoolscorep>athscore
pp>next
break
}
else if(school[i]schoolnumberp>schnum){
school[i]schoolscore+p>athscore
pp>next
break
}
}
}
return 0
}
学校编号序输出
void printfSchoolNumber(){
int ijnumflag
printf( 学校编号 校 名 学校总分\n)
for(i0i++){
if(school[i]schoolnumber1)break
numschool[0]schoolnumber
flag0
for(j1j++){
if(school[j]schoolnumber1)break
if(school[j]schoolnumber }
printf(8d10s12d\nschool[flag]schoolnumberschool[flag]schoolnameschool[flag]schoolscore)
school[flag]schoolnumber35565
}
}
学校总分序输出
void printfSchoolScore(){
int ijscoflag
printf( 学校编号 校 名 学校总分\n)
for(i0i++){
if(school[i]schoolscore0)break
scoschool[0]schoolscore
flag0
for(j1j++){
if(school[j]schoolscore0)break
if(school[j]schoolscore>sco){scoschool[j]schoolscoreflagj}
}
printf(8d10s12d\nschool[flag]schoolnumberschool[flag]schoolnameschool[flag]schoolscore)
school[flag]schoolscore1
}
}
男女团体总分排序输出
void printfManWomanScore(LinkList L){
LinkList p
int manscore0womanscore0
pL>next
while(pNULL){
if(p>objtype'm')manscore+p>athscore
else womanscore+p>athscore
pp>next
}
printf( 团体 总分\n)
if(manscore>womanscore){
printf( 男生8d\nmanscore)
printf( 女生8d\nwomanscore)
}
else {
printf( 女生8d\nwomanscore)
printf( 男生8d\nmanscore)
}
}
学校编号查询学校某项目情况
void printfSchoolObject(LinkList L){
LinkList p
int scnumobnumsum0
char scname[30]
pL>next
printf(请输入查学校编号)
scanf(d&scnum)
printf(请输入项目编号)
scanf(d&obnum)
while(pNULL){
if(p>schnumscnum&&p>objnumobnum){sum+p>athscorestrcpy(scnamep>schname)}
pp>next
}
printf( 学校编号 校 名 项目编号 获总分\n)
printf(8d10s12d12d\nscnumscnameobnumsum)
}
项目编号查询取前三名前五名学校
void printfObjectSchool(LinkList L){
LinkList p
int obnumni
pL>next
printf(请输入查项目编号)
scanf(d&obnum)
printf(请输入3(前三名)5(前五名))
scanf(d&n)
for(i20i<30i++){
school[i]schoolscore0
school[i]schoolnumber1
}
while(pNULL){
for(i20i<30i++){
if(school[i]schoolnumber1&&p>objnumobnum){
strcpy(school[i]schoolnamep>schname)
school[i]schoolnumberp>schnum
school[i]schoolscorep>athscore
pp>next
break
}
else if(school[i]schoolnumberp>schnum&&p>objnumobnum){
school[i]schoolscore+p>athscore
pp>next
break
}
else{pp>nextbreak}
}
}
printf( 项目编号 学校编号 校 名 学校总分\n)
*i20
while(n){
if(school[i]schoolscore0){ printf(8d12d10s12d\nobnumschool[i]schoolnumberschool[i]schoolnameschool[i]schoolscore)
i++
}
else break
}*
pL>next
while(p>objnumobnum)pp>next
while(n){
printf(8d12d10s12d\nobnump>schnump>schnamep>athscore)
pp>next
}
}
函数
int main(){
LinkList L
int menu
while(menu0){
printf(***********************欢迎运动会分数统计系统***********************\n)
printf( 1录入项目成绩\n)
printf( 2统计学校分数\n)
printf( 3学校编号序输出\n)
printf( 4学校总分序输出\n)
printf( 5男女团体总分序输出\n)
printf( 6学校编号查询学校某项目情况\n)
printf( 7项目编号查询取前三名前五名学校\n)
printf( 0退出系统\n)
printf(***********************欢迎运动会分数统计系统***********************\n)
printf(请选择功07)
scanf(d&menu)
switch(menu){
case 1 LcreatLink()printf(项目成绩录入完毕\n)break
case 2 schoolScore(L)printf(统计学校成绩完毕\n)break
case 3 printfSchoolNumber()break
case 4 schoolScore(L) printfSchoolScore()break
case 5 printfManWomanScore(L)break
case 6 printfSchoolObject(L)break
case 7 printfObjectSchool(L)break
case 0 printf(退出系统成功欢迎\n)exit(0)
default printf(功选项错误请重新输入)
}
printf(\n)
}
return 0
}

七户手册
(1)程序执行文件运动会分数统计系统演示exe
(2)进入程序会进入系统菜单界面户该界面输入子菜单前应数字回车执行相应子菜单命令



文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

数据结构课程设计运动会分数统计(C语言版)

数据结构课程设计运动会分数统计(C语言版)目 录第一章 绪 论 1 1.1 运动会分数统计系统的背景 1 1.2 运动会分数统计系统的任务和目标 1第二章 运动会分数统计系统的需求分析 2 2.1 功能需求 2 2.2 功能模块 2 2.3 数据要求 3 2.4 性能要求 3第三章 系统开发工具及关键技术 4 3.1 系统开

文***品 3年前 上传652   0

信号与系统实验报告

实验一 信号的时域描述与运算 一、实验目的 1、掌握信号的MATLAB表示及其可视化方法。 2、掌握信号基本时域运算的MATLAB实现方法。 3、利用MATLAB分析常用信号,加深对信号时域特性的理解。 二、实验原理与方法 1. 连续时间信号的MATLAB表示 连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。在MATLAB中连续时间信号可

文***品 5年前 上传3231   0

信息管理系统实验报告

信息管理系统实验报告班级: 财务管理班 成员: 指导老师: 2012食堂信息系统调查大纲• 一、引言• 二、系统需求分析• 三、可行性分析• 四、概念结构设计• 五、逻辑结构设计• 六、物理结构设计• 七、数据库结构的实现• 注:本设计暂只完成到第三步一、引言1.1 背景随着高校办学规模不断扩大,高校的后勤管理工作

文***品 2年前 上传554   0

实验报告管理系统报告

软件项目设计报告实验报告管理系统所在班级小组成员学院名称信电工程学院专业名称计算机科学与技术指导教师起止日期2014.12.16-2015.1.152015年1月15日目 录1 绪论 11.1开发背景 11.2 本次设计完成的工作 11.3 任务分工 11.4 任务 12 系统分析 22.1需求分析 2

文***品 2年前 上传325   0

SPSS数据统计软件实验报告

SPSS数据统计软件实验报告专业 信息与计算科学 班级 级班 组别 指导教师 姓名 同组人 实验时间 2018 年 月 日 实验地点 实验名称 方差分析

文***品 3年前 上传779   0

交通系统仿真实验报告

实验报告课程名称 道路交通系统仿真 学生姓名 学 号 专业班级 指导教师

文***享 1年前 上传299   0

环境监测系统实验报告

信息与通信工程学院单片机系统课程设计报告 完成日期:2021年 11 月 16 日目 录目 录 1一、设计任务和要求 11.1 设计任务 11.2 性能指标 1二、设计方案 22.1.方案设计 22.1.1 单片机控制模块的选择论证 22.1.2 温度湿度检测模块的选择与论证 22.1.3 显示模块的选择与论

静***雅 2年前 上传503   0

远程在线考试系统设计实验报告

系统设计实验报告 ——远程在线考试系统目 录软件需求说明书························1 引言 ···························  1.1编写目的 ·······················  1.2背景 ····

z***7 11年前 上传703   0

操作系统进程管理实验报告

操作系统进程管理实验报告实验一 进程管理1.实验目的:(1)加深对进程概念的理解,明确进程和程序的区别;(2)进一步认识并发执行的实质;(3)分析进程争用资源的现象,学习解决进程互斥的方法;(4)了解Linux系统中进程通信的基本原理。2.实验预备内容(1)阅读Linux的sched.h源码文件,加深对进程管理概念的理解;(2)阅读Linux的fork()源码文件,分析进程的

文***享 1年前 上传385   0

车辆管理系统实验报告课程设计

 成绩: 《C++程序设计实践》报告专 业: 软件工程 班 级: 学 号: 姓 名: 日期:2016年 X月 X日目录一、设计目的 1二、总体设计 2三、 详细设计(以c

z***u 11个月前 上传284   0

信号与系统设计性设计性实验报告

《信号与系统实验》综合设计性实验报告册实验项目:选频网络的设计及应用研究 学院:物理与电子工程学院 年级专业班: 电子 姓名: 学号: 成绩: 实验地点:电子楼指导老师: 《综合设计性实验》预习报告实验项目:选频网络的设计及应用研究一 引言: 设计性实验的目的,第一是培养学生的自行学习和自我实践的能力,第二是检查学

z***u 1年前 上传322   0

仿QQ聊天系统实验报告

软件工程项目实践 大作业 仿QQ软件的设计与实现软件工程项目实践 大作业仿QQ软件的设计与实现班级:学号:姓名:教师:平时成绩30分: + 大作业成绩:70分: = 总分:_ _ à成绩: _ 教师评语:小计F1F2F3F4F536222 52846532555    

文***品 3年前 上传756   0

统计系统个人先进事迹

统计系统个人先进事迹 统计系统个人先进事迹由我整理,希望给你工作、学习、生活带来方便。 二十七载风雨路 魂牵梦萦统计情 ——***同志先进事迹 ***同志生于**年*月。 *年*月参加工作以来, 曾先后供职于教育系统和乡人民政府, 11016年9月调入县统计局,从此,他与统计工作结下了不解之缘。搞过办公室文秘工作,也担任过劳动工资统计、工业统计、农业统计等

2***9 1年前 上传265   0

统计系统党史教育总结自查

统计系统党史教育总结自查为深入学习领会关于党史的重要论述,紧紧围绕庆祝中国共产党成立100周年,*区统计局党支部扎实开展党史教育,认真落实主体责任,严格落实中央“规定动作”和自治区、*市“自选动作”,做好城区“自选动作”,推动营造全体党员干部及其他干部职工学党史、悟思想、办实事、开新局的良好氛围。一、落实情况及成效(一)落实主体责任情况2021年3月12日,统计局党支部召开党史教育动员会

梦***人 3年前 上传944   0

2021年统计系统工作总结

2021年统计系统工作总结今年以来,在县委、县zf的正确领导下,深入贯彻落实党的*大和*中全会精神,紧紧围绕县委、县zf部署和统计重点工作,坚持依法统计,强化服务质量,扎实推进各项统计调查工作,不断提升统计服务水平,充分发挥统计在经济社会发展过程中的监测、咨询和服务作用。一、加强党的建设,稳步推进党建工作健康有序发展(一)做好基层党组织生活。严格落实“三会一课”、党组理论中心组学习、民*主

锦***3 2年前 上传438   0

互动系统统计表

互动系统统计表 年 月 部 门 谈话人 谈话对象 主要目的 主要内容 谈话结果 谈话时间 谈话次数 A很好 B较好 C较差

江***0 8年前 上传2012   0

分数乘分数

分数乘分数课题分数乘分数课型新授课设计说明本节内容是在学生学过分数乘整数的意义和计算方法的基础上进行教学的,它是今后学习分数除法的意义、计算方法以及分数乘除法应用题的基础,所以这部分内容是教学的重点。本节教学在设计上有以下三个特点:1.逐层分解,各个击破。在复习引新环节,结合本课重点,引导学生动手操作,鼓励学生采用多种方式来表示一个数的几分之几的意义,在充分调动学

x***q 4年前 上传1392   0

驱动程序实验报告操作系统课程设计报告

操作系统课程设计报告班级: 计科 姓名: 学号: 老师: 时间:2012年X月X日一、设计目的操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学

文***享 1年前 上传306   0

操作系统实验报告C语言实现银行家算法

实 验 报 告题 目名 称C语言实现银行家算法院 系信息科学与工程学院班 级完成时间指导老师本次实验成绩组长联系电话邮件地址组员(姓名,学号)主要任务程序算法的编写、实现、运行调试组员(姓名,学号)主要任务实验报告的完成组员(姓名,学号)主要任务实验报告的完成

文***品 3年前 上传475   0

动态系统建模(四旋翼飞行器仿真)实验报告

 动态系统建模(四旋翼飞行器仿真)实验报告 院(系)名称大飞机班 学号 学生姓名 任课教师 2011年 X月 四旋翼飞行器的建模与仿真一、实验原理I.四旋翼飞行器简介 四旋翼飞行器通过四个螺旋桨产生的升力实现飞行,原理与直

文***品 3年前 上传952   0

SQL数据库制作考务管理系统实验报告

SQL数据库制作考务管理系统实验报告  一、实验目的  1.  掌握sql server的基本用法  2.  熟悉掌握asp语言的应用  3.  掌握asp的页面结构和内置对象  4.  掌握asp与sql server数据库的连接和应用  5.  掌握asp 另外一个重要的语言――javascript,并熟悉它的应用  6.制作一个功能完善的考务管理系统  7.

诺***3 9年前 上传668   0

网上订餐系统分析与设计实验报告

随着人民的生活水平的提高,餐厅也蓬勃开展,线下的实体效劳已经满足不了日益进步的需求。网络订餐系统给人们带来了方便,成为一种全新的商务模式。网上订餐平台一方面为餐厅搭建了一个集中的宣传平台,能为餐厅节约经济本钱,创造更多的收益;另一方面,能为广阔消费者争取更多的优惠。这样的模式使得餐厅和消费者两方面都渐渐依赖网上订餐平台,从而获得可观的收益。

幸***在 2年前 上传795   0

交通灯控制系统EDA实验报告

交通灯控制系统EDA实验报告2014姓名: 学号:一、 课题名称用状态机设计的交通信号控制系统。二、 实验目的利用所学习的EDA相关知识,完成对交通灯控制系统的设计并实现,提高对所学知识的理解和利用熟练程度。三、 设计任务设计一个十字路口交通控制系统,要求如下:a. 东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,持续时间分别是40秒、五秒和4

文***品 3年前 上传1146   0

动态系统建模仿真实验报告四旋翼仿真

动态系统建模仿真实验报告(2)四旋翼飞行器仿真20121实验内容基于Simulink建立四旋翼飞行器的悬停控制回路,实现飞行器的悬停控制;建立UI界面,能够输入参数并绘制运动轨迹;基于VR Toolbox建立3D动画场景,能够模拟飞行器的运动轨迹。2实验目的通过在 Matlab 环境中对四旋翼飞行器进行系统建模,使掌握以下内容:四旋翼飞行器的建模和控

文***享 3年前 上传894   0

计算机输入输出系统接口实验报告

计算机输入输出系统接口实验报告姓名:学号:二 0 16 年 X月实验一 环境熟悉与 I/O 地址译码一、实验目的掌握I/O地址译码电路的工作原理。二、实验内容将接口实验包中所带的 EX-138.DSN 文件用 ISIS 7 打开。改变 A9~A3 的接线方法,从而得到 Y0;

文***享 8个月前 上传280   0