课程设计运动会分数统计.docx

上传人:b****4 文档编号:3138444 上传时间:2022-11-17 格式:DOCX 页数:32 大小:542.88KB
下载 相关 举报
课程设计运动会分数统计.docx_第1页
第1页 / 共32页
课程设计运动会分数统计.docx_第2页
第2页 / 共32页
课程设计运动会分数统计.docx_第3页
第3页 / 共32页
课程设计运动会分数统计.docx_第4页
第4页 / 共32页
课程设计运动会分数统计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

课程设计运动会分数统计.docx

《课程设计运动会分数统计.docx》由会员分享,可在线阅读,更多相关《课程设计运动会分数统计.docx(32页珍藏版)》请在冰豆网上搜索。

课程设计运动会分数统计.docx

课程设计运动会分数统计

 

课程设计运动会分数统计

 

成绩

数据结构课程设计

课程名称数据结构课程设计

专业计算机科学与技术(网络工程)

班级

学生姓名

学号

设计题目运动会分数统计

指导教师

 

设计起止时间:

.6.18-.6.29

 

数据结构课程设计

任务书

学院计算机科学与技术(网络工程)专业

课程设计题目运动会分数统计

 

学生姓名

学号

班级

起止日期-06-18至-06-29

指导教师

发任务书日期6月10日

 

一.课程设计题目:

运动会分数统计

二.设计要求:

本课程设计要求学生一人一题,个人独立完成。

设计中使用到以下知识点:

(1)线性结构基本算法实现

(2)图形结构基本算法实现

(3)查找基本算法实现

该课程设计提交的文档包括以下内容:

(1)问题描述

(2)基本要求

(3)算法思想

(4)模块划分:

包括一些必要的流程图.

(5)数据结构

(6)源程序

(7)测试例子及结果分析

(8)心得体会

三.设计内容和步骤:

 

(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)基本要求:

1)能够输入各个项目的前三名或前五名的成绩;

2)能统计各学校总分;

3)能够按学校编号、学校总分、男女团体总分排序输出;

4)能够按学校编号查询学校某个项目的情况;

5)能够按项目编号查询取得前三或前五名的学校。

(3)测试数据

1)首先进入成绩录入界面,先输入学校编号1,再输入学校1各个项目成绩0或1(‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次);

然后再输入第二个学校编号2,再输入成绩;当输入其它的学校编号和成绩会提示错误输入,重新输入。

2)然后进入总目录,输入:

1统计各学校总分并输出;

3)输入:

2按学校编号排序输出;

4)输入:

3按学校总分排序输出;

5)输入:

4按男团体总分排序输出;

6)输入:

5按女团体总分排序输出;

7)输入:

6按学校编号查询学校某个项目情况;

8)输入:

7按项目编号查询取得名次的学校;

9)输入:

0退出系统;

10)输入其它数据会提示错误输入,重新输入。

四.工作进度安排:

(1)系统分析与设计阶段(3天)

在前期资料查阅的基础上,学生对所选课题进行功能分析与设计,并与指导老师进行充分的沟通。

(2)程序编制与调试阶段(5天)

学生在指导老师的指导下独立完成程序的编制与调试,指导老师应实时考察学生的实际编程与调试能力。

(3)总计报告和书写说明书阶段(3天)

学生根据规定的格式编写内含课题说明书的课程设计报告。

(4)答辩与考核阶段(1天)

五.考核方法:

在学生完成设计、调试后,组织验收。

同时,为了更好的了解学生对课程内容的掌握情况,针对有关设计中所涵盖的知识点,提出相应问题,要求学生回答。

成绩评定:

根据学生的算法设计思想和程序的调试、运行结果及回答问题的情况,给出合理的成绩。

(1)很好的完成了所承担的设计任务,算法设计有新意,程序调试顺利,结果正确,回答提问准确,为优秀。

(2)较好地完成了所承担的设计任务,算法设计完全完全,程序调试较顺利,结果正确,回答问题准确,为良好。

(3)能够完成所承担的设计任务,经提示程序调试经过,结果正确,回答问题基本准确,为中等。

(4)程序没有严重错误,经老师指导调试成功,结果正确,能够回答基本问题,为及格。

(5)不能完成设计任务,不及格处理。

 

指导教师签名:

__________

日期:

年6月15日

教研室主任签名:

_________

日期:

年月日

成绩

 

课程设计报告

课程名称数据结构课程设计

专业计算机科学与技术(网络工程)

班级

学生姓名

学号

设计题目运动会分数统计

指导教师

 

设计起止时间:

.6.18-.6.29

运动会分数统计系统

一、问题描述

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)能够输入各个项目的前三名或前五名的成绩;

2)能统计各学校总分;

3)能够按学校编号、学校总分、男女团体总分排序输出;

4)能够按学校编号查询学校某个项目的情况;

5)能够按项目编号查询取得前三或前五名的学校。

三、算法思想

根据运动会分数统计系统的问题分析及设计要求,能够将此系统分为四个模块:

信息统计模块、信息输出模块、信息查询模块、信息调用模块。

其系统功能结构图如图所示。

(1)信息统计模块实现信息的输入、统计、存档。

(2)信息输出模块实现信息的输出。

(3)信息查询模块实现信息的查询。

(4)信息调用模块实现信息的调用,即从文件中读出信息并输出。

四、模块划分

1.程序基本流程图如下:

2.概要设计

此系统采用顺序存储结构存储,定义了一个结构体数组存放参赛学校的信息。

之因此采用顺序存储结构,是因为用它来实现信息的存储、查询比较方便,节省时间,效率高,而且也方便把信息写入文件以及读取文件。

(1)、结构体定义如下:

①、定义运动项目数据类型,用于存放运动项目的信息,包括项目名称、项目编号、用户自己定义的取前3名还是前5名的积分、名次、分数。

typedefstruct

{

charproname[10];//项目名称

intpronum;//项目编号

inttop;//取前3名或前5名积分,由用户自己定义

intrange[5];//名次

intmark[5];//分数

}Pronode;//项目结点类型定义

②、定义学校数据类型,用于存放参赛学校的信息,包括学校名称、学校编号、学校总分、男子团体总分、女子团体总分以及项目数组。

typedefstruct

{

charschname[20];//学校名称

intschnum;//学校编号

intscore;//总分

intMscore;//男子团体总分

intWscore;//女子团体总分

Pronodea[M+W];//项目数组

}Schnode;//学校结点类型定义

③、定义一个学校结点类型的结构体数组Schnodes[N]。

采用数组结构有利于随机存储和查询。

(2)、信息统计模块的算法设计说明

输入参赛学校比赛成绩的信息时,采用三重循环,第一重循环控制参赛学校的个数,第二重循环控制各参赛学校的参赛项目个数,第三重循环控制各参赛学校的各参赛项目所获得的名次个数,并依次输入相应信息,根据所输入的名次得出相对应的分数。

然后分别统计出各学校的总分、男子团体总分和女子团体总分。

调用文件数据块写函数fwrite将信息写入文件,方便以后调用。

(3)、信息输出模块的算法设计说明

根据设计要求,实现按学校名称、学校总分、男子团体总分、女子团体总分输出。

因此选用switch语句实现此功能。

case1按学校名称输出时,直接取出数据进行输出;case2按学校总分输出时,采用冒泡排序法进行排序然后按分数由高到低输出;case3和case4也均采用冒泡排序法进行排序最后按分数由高到低输出。

其流程图如图所示:

(4)、信息查询模块的算法设计说明

根据设计要求,提供两种不同的查询方式:

按学校编号查询和按项目编号查询。

因此也采用switch语句实现此功能。

case1按学校编号查询,提示输入要查询的学校编号以及要查询的项目编号,直接取出该学校该项目的信息进行输出。

case2按项目编号查询,提示输入要查询的项目编号,输出该项目取得名次的学校的信息。

其流程图如图所示:

(5)、信息调用模块的算法设计说明

信息调用,即读取保存在文件里的信息并输出。

由于采用的是数组存储,能够很方便的一下把文件里的信息全部读取出来,再利用三重循环依次把各学校各项目所取得的成绩输出。

3、详细设计

(1)、信息输入及分数统计功能

voidInfoInput()是信息输入及分数统计的函数,在输入信息的同时进行分数统计,能够输入各学校各项当前3名或前5名的成绩。

结果取前3名还是前5名由用户自己定。

用switch语句将前3名的成绩赋值为5、3、2,前5名的成绩赋值为7、5、3、2、1,未取得的成绩则赋为0。

并统计总分、男子团体总分和女子团体总分。

(2)、信息输出功能

voidInfoOutput()是信息输出函数。

输出一个总分显示菜单,利用switch语句实现按学校名称输出或按学校总分、男子团体总分、女子团体总分由高到低输出。

采用冒泡排序的方法使之按总分由高到低输出。

利用循环语句while

(1)返回总分显示菜单,break语句终止循环。

(3)、信息查询功能

voidInquiry()函数是信息查询函数,显示一个查询菜单,利用switch语句实现按学校编号查询和按项目编号查询,并输出该学校某个项目的情况或某个项目取得前3名或前5名的学校信息。

利用循环语句while

(1)返回查询菜单,break语句终止循环。

五、系统实现及结果测试

运行程序,进入主菜单界面,用户能够选择输入信息、输出信息、查询信息、调用信息、关于或退出系统。

注意:

第一次运行本程序时,请选择输入信息。

以后再运行时,为了避免再次输入大量信息,能够先选择调用信息,将以前输入的信息重新显示在屏幕上,再进行后续操作。

主菜单界面如图所示:

(1)、输入信息

选择1号功能进入输入信息模块,根据提示信息将以下信息输入系统中。

学校名称:

;学校编号:

01;项目名称:

男子1000米;项目编号:

01;取前5名;获得1个名次,第3名。

项目名称:

女子800米;项目编号:

02;取前3名,获得3个名次,分别是第1、2、3名。

学校名称:

;学校编号:

02;项目名称:

男子跳远;项目编号:

01;取前5名,获得3个名次,分别是第1、2、2名。

项目名称:

女子跳远;项目编号:

02;取前5名,获得1个名次,第1名。

输入信息后,信息会自动存档,并自动返回到主菜单。

(2)、输出信息

输入2进入总分显示菜单界面。

用户可根据自己喜好选择按学校名称输出

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1