数据结构课程设计报告(运动会分数统计系统)_第1页
数据结构课程设计报告(运动会分数统计系统)_第2页
数据结构课程设计报告(运动会分数统计系统)_第3页
数据结构课程设计报告(运动会分数统计系统)_第4页
数据结构课程设计报告(运动会分数统计系统)_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐数据结构课程设计报告(运动会分数统计系统)课程设计(论文)任务书

软件学院信息专业1班

一、课程设计(论文)题目运动会分数统计系统

二、课程设计(论文)工作自2022年12月27日起至2022年12月31日止。

三、课程设计(论文)地点:创新大楼软件学院大楼

四、课程设计(论文)内容要求:

1.课程设计的目的

为了协作《数据结构》课程的教学,使同学能更深刻地领悟《数据结构》这门课程的重要性,特开设此课程设计;编写一些在特定数据结构上的算法,通过上机调试,更好的把握各种数据结构及其特点,培养同学综合运用所学理论学问解决复杂实际问题的实践能力、讨论性学习能力和团队合作能力。

2.课程设计的任务及要求

1)基本要求

(1)课程设计前必需选定课程设计题目,并仔细举行需求分析;

(2)上机调试之前要仔细预备试验程序及调试时所需的测试数据;

(3)程序结构要清楚,重点函数的重点变量,重点语句要加上清楚的程序解释;(4)自立思量,自立完成,调试过程要规范,仔细记录调试结果;

(5)撰写课设报告,对设计举行总结和研究。

2)课程设计论文编写要求

(1)要根据书稿的规格撰写打印课设论文

(2)论文包括任务书、名目、绪论、正文、总结、

(4)动手调试能力;

(5)论文撰写的层次性、条理性、格式的规范性。

4)

课程设计报告

名目

1绪论(2)

2需求分析与概要设计(3)

2.1需求分析(3)

2.1.1问题描述(3)

2.1.2基本要求(3)

2.2概要设计(3)

2.2.1数据结构(3)

2.2.2程序模块及之间的调用关系(4)

3具体设计与编码实现(5)

3.1目的结果(5)

3.2变量关系(5)

数据类型及重要变量的定义(5)

3.3编码实现(6)

3.3.1信息输入及分数统计功能(6)

3.3.2信息输出查询功能(6)

3.3.3主函数(7)

4调试分析与结果(8)

4.1运行界面(8)

输入各项信息(8)

4.2查询(10)

5总结体味(12)

6

运动会分数统计系统

1绪论

近年来,在计算机软件业,面对对象程序设计的思想已经被越来越多的软件设计人员所接受。不仅由于它是一种最先进的,新颖的计算机程序设计思想,最主要的是这种新的思想更临近人的思维活动,人们利用这种思想举行程序设计时,可以很大程度地提高编程能力,削减软件维护的开销。面对对象程序设计办法是通过增强软件的可扩充性和可重用性来提高程序员的编程能力。

随着计算机在我国广泛而深化的应用,在分析和开发计算机系统软件和应用软件的过程中,迫切需要把握各种数据结构的描述办法以及相应的处理算法。因此面对对象程序设计学问是计算机相关科学的同学和从事计算机应用的技术人员必备的专业基础学问。闻名的瑞士计算机科学家沃思提出:对象+消息=程序。

课程设计报告

2需求分析与概要设计

2.1需求分析

2.1.1问题描述

参与运动会的n个小学编号为1~n。竞赛分成m个男子项目和w个女子项目,项目编号分离为1~m和m+1~m+w。因为各项目参与人数差别较大,有些项目取前五名,得分挨次为7,5,3,2,1;还有些项目只取前三名,得分挨次为5,3,2。写一个统计程序产生各种成果单和得分报表。

2.1.2基本要求

产生各小学的成果单,内容包括各小学所取得的每项成果的项目号、名次(成果)、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。

2.2概要设计

2.2.1数据结构

1)小学:名称,编号,男子团体总分,女子固体总分。

2)运动项目:项目编号,名称,男子项目,女子项目,前三名,前五名,第一名小学的编号,其次名小学的编号,第三名小学的编号,第四名小学的编号,第五名小学的编号。

运动会分数统计系统

2.2.2程序模块及之间的调用关系

图2.1:模块之间的调用关系

课程设计报告

3具体设计与编码实现

3.1目的结果

本课程设计主要解决在运动会上,将各个竞赛项目全部获得名次的学生的成果输入;成果查询;成果修改;成果删除;以及成果输出。该程序用于运动会上,涉及到竞赛项目成果的录入,某个小学在某个项目中获得成果的查询,某个小学在某个运动项目中获得的成果的修改,某个小学在某个运动项目中获得的成果的删除,以及某个小学全部获得成果的得分报表以及团体成果的得分报表。

其中竞赛成果的录入可以根据运动项目进行的次序输入,也可以输入自己指定的运动项目的成果;自己扩展的功能是“某个小学在某个项目中获得成果的查询,某个小学在某个运动项目中获得的成果的修改,某个小学在某个运动项目中获得的成果的删除”三项,这三项都要求输入小学以及运动项目编号,通过这两项作为参数详细的函数可以查询、修改成果或者是删除某项成果记录,进而影响到最后得分报表的输出。

3.2变量关系

数据类型及重要变量的定义

(1)定义运动项目数据类型,用于存放运动项目,包括项目编号、项目所取名次数、名次、分数。

intn;//n个小学

intm;//m个男子项目

intw;//w个女子项目

structpro//表示项目的结构体

(2)定义小学数据类型,用来存储参赛小学信息,包括小学编号、

运动会分数统计系统

小学总分、男团总分、女团总分、项目数组。

//定义小学结点类型

intnum;

stringname;//小学名称

intscore;//小学总分

intmale;//男子总分

intfemale;//女子总分

3.3编码实现

3.3.1信息输入及分数统计功能

voidinput()为输入信息及分数统计函数。在输入信息的同时举行分数的统计。可以输入各个小学各项目前三名或前五名的成果。在输入小学的参赛项目时,结果取前三名还是前五名自己定,用一个挑选语句实现。其主要功能代码如下:

intintegral[5]={7,5,3,2,1};//前五名得分

intintegraly[3]={7,5,3};//三名得分

for(i=1;i>p[i].name;

printf("该项目取前三名选0,取前5名选1:");

scanf("%d",

3.3.2信息输出查询功能

1)voidoutput()为输出函数。列出一个输出名目利用swich语句使函数按小学编号输出或按小学总分、男团总分、女团总分由高到低排序输出。利用辅助数组remember[]和冒泡排序的办法使之按分数的由高到低输出。利用循环语句dowhile()当输入2时返回输出名目,输入0是跳出循环返回主菜单。

课程设计报告

voidprint(inti)

{

cout

#include

#include

#include

usingnamespacestd;

intn;//n个小学

intm;//m个男子项目

intw;//w个女子项目

structpro//表示项目的结构体

{

stringname;//项目名称

intsnum[6];//前5名小学的编号

intsnumy[4];//前3名小学的编号

}p[21];

structschool//表示小学的结构体

{

intnum;

stringname;//小学名称

intscore;//小学总分

intmale;//男子总分

intfemale;//女子总分

}sch[21];

intintegral[5]={7,5,3,2,1};//前五名得分

intintegraly[3]={7,5,3};//前三名得

voidinput()

{

inti,j,y,x,q;

printf("输入小学数目:");

y=0;

while(1)

{

scanf("%d",//n:小学数目

if(n>=1

if(y)break;

课程设计报告

elseprintf("输入数据有误,请重新输入:");

}

for(i=1;i>sch[i].name;//给小学结构体的成员初始化为

sch[i].score=0;

sch[i].female=0;

sch[i].male=0;

sch[i].num=i;

}

printf("输入男子项目数和女子项目数:");

y=0;

while(1)

{

scanf("%d%d",

if(m>p[i].name;

printf("该项目取前三名选0,取前5名选1:");

scanf("%d",

if(q==1)

{

printf("输入第%d个项目的前5名的小学编号:\n",i);

for(j=1;j=1

if(y)break;

elseprintf("输入数据有误,请重新输入:");

}

运动会分数统计系统

p[i].snum[j]=x;//给项目结构体的成员赋值

sch[x].score+=integral[j-1];//给小学结构体成员赋值

if(i=1

if(y)break;

elseprintf("输入数据有误,请重新输入:");

}

p[i].snumy[j]=x;//给项目结构体的成员赋值

sch[x].score+=integraly[j-1];//给小学结构体成员赋值

if(isch[j].num)

{

t=sch[i];sch[i]=sch[j];sch[j]=t;

}

}

printf("\n按编号罗列:\n");

printf("编号小学名称总分男子总分女子总分\n");

for(i=1;i=1

if(y)break;

课程设计报告

elseprintf("输入数据有误,请重新输入:");

}

printf("该小学相关信息:\n");

printf("编号小学名称总分男子总分女子总分\n");

for(i=1;i=1

if(y)break;

elseprintf("输入数据有误,请重新输入:");

}

printf("该项目取的前三名选0,取的前5名选1:");

scanf("%d",

if(v==1)

{

cout<printf("名次编号小学名称\n");

for(i=1;i<=5;i++)

cout<<""<<i<<""<}

if(v==0)

{

运动会分数统计系统

cout<printf("名次编号小学名称\n");

for(i=1;i<=3;i++)

cout<<""<<i<<""<}

cout<<endl;

}

voidsolve()//菜单函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论