运动会分数统计Word文档下载推荐.docx

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

运动会分数统计Word文档下载推荐.docx

《运动会分数统计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《运动会分数统计Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

运动会分数统计Word文档下载推荐.docx

=20,n<

=20)

2)基本要求

(1)可以输入各个项目的前三名或前五名的成绩;

(2)能统计各学校总分,

(3)可以按学校编号、学校总分、男女团体总分排序输出;

(4)可以按学校编号查询学校某个项目的情况;

可以按项目编号查询取得前三或前五名的学校。

规定:

输入数据形式和范围:

20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

输出形式:

有中文提示,各学校分数为整型

界面要求:

有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:

学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:

要求使用1、全部合法数据;

2、整体非法数据;

3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;

四、参考资料

[1]王红梅.数据结构C++.北京:

清华大学出版社,2005.

[2]王红梅.数据结构C++实验指导书.北京:

[3]严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社

 

指导教师(签字):

教研室主任(签字):

批准日期:

年月日

一、需求分析

(1)程序功能

(a)可以输入各个项目的前三名或前五名的成绩;

(b)能统计各学校总分,

(c)可以按学校编号、学校总分、男女团体总分排序输出;

(d)可以按学校编号查询学校某个项目的情况;

(2)输入输出要求

输入形式:

数据形式和范围:

二、概要设计

1.运动会记分系统功能模块图

2.程序类图

三、详细设计

1.学校类设计

学校基础信息:

定义了学校类,以及各种学校类的基础信息,如:

学校名称、编号、学校总分,男子运动员总分,女子运动员总分。

通过学校类对象数组调用参数和函数。

classSchool

{

private:

intid;

//学校编号

stringname;

//学校名称

inttotal;

//学校总分

intmale;

//男子总分

intfemale;

//女子总分

public:

School()//初始化

{

id=0;

male=0;

female=0;

total=0;

}

voidsetName(strings)

name=s;

stringgetName()

returnname;

voidsetId(inti)

id=i;

intgetId()

returnid;

voidsetTotal(inta)

total=a;

intgetTotal()

returntotal;

voidsetMale(inta)

male=a;

voidsetFemale(inta)

female=a;

intgetMale()

returnmale;

intgetFemale()

returnfemale;

};

2.运动会项目类设计

运动项目基础信息:

定义了运动项目类,以及各种运动项目类的基础信息,如:

运动项目名称、男子运动项目,女子运动项目。

通过运动项目类对象数组调用参数和函数。

classItem

Schoolsc[20];

SchoolgetSchool(inti)

returnsc[i];

School*getSchools()

returnsc;

voidsetSchool(Schoolsch,inti)

sc[i]=sch;

3.统计总分信息类设计

统计总分信息:

定义了统计类,各个名次的积分及规则,还定义了与总分相关的各种函数,如:

录入函数,打印函数,排序函数,菜单函数。

统计类为整体核心,通过统计类对象,把录入的实参赋值给各个变量。

最后再通过类对象数组调用各个函数实现整体的功能。

classCount

Itemitem[20];

intintegral[5];

intn,m,f;

Count()

n=0;

integral[0]=7;

integral[1]=5;

integral[2]=3;

integral[3]=2;

integral[4]=1;

voidinput();

//输入基本信息

voidinput1();

//录入成绩

voidOpen();

//载入

voidprint(int);

//打印

voidstatisticsForTotal();

//按总分排序

voidstatisticsForId();

//按编号排序

voidstatisticsForMale();

//按男子总分排序

voidstatisticsForFemale();

//按女子总分排序

voidschoolInfo();

//显示学校信息

voiditemInfo();

//显示项目信息

voidmenu();

//显示菜单

voidsort(School*,string,int);

//排序操作

4.录入信息函数设计

录入信息函数:

实现录入学校信息和运动项目信息功能。

学校信息包括:

学校编号、学校名称;

运动项目信息包括:

男子项目和女子项目数,各个项目名称。

voidCount:

:

input()

inti;

School*sch;

Item*it;

strings;

cout<

<

"

输入学校数目"

;

cin>

>

n;

for(i=0;

i<

i++)

sch=newSchool;

cout<

请输入第"

<

i+1<

个学校名称:

"

cin>

s;

sch->

setName(s);

setId(i+1);

sc[i]=*sch;

输入男子和女子项目数:

m;

f;

while(m>

20||m<

1||f>

20||f<

1)

输入有误,请重新输入!

\n"

m+f;

个项目的名称"

it=newItem;

it->

item[i]=*it;

}

录入成绩函数:

实现录入运动项目成绩信息功能。

input1()

inti,k,j,id;

id=sc[i].getId();

for(k=0;

k<

k++)

for(j=0;

j<

n;

j++)

{

cout<

k+1<

个项目成绩(按学校编号):

endl;

cin>

id;

if(k<

m)

{

sc[id-1].setMale(sc[id-1].getMale()+integral[j]);

}

elseif(k<

m+f)

sc[id-1].setFemale(sc[id-1].getFemale()+integral[j]);

sc[id-1].setTotal(sc[id-1].getTotal()+integral[j]);

item[i].setSchool(sc[id-1],j);

}

5.排序的设计

排序函数:

实现将录入运动项目成绩按总分按从大到小的顺序进行排序。

sort(School*sch,stringmode,intnum)//排序函数

inti,j,exchange;

Schoolt;

if(mode=="

total"

exchange=0;

for(i=0;

num-1;

for(j=num-2;

j>

=0;

j--)

if(sch[j+1].getTotal()>

sch[j].getTotal())

{

exchange=1;

t=sc[j+1];

sch[j+1]=sch[j];

sch[j]=t;

}

if(!

exchange)

return;

return;

id"

num;

for(j=i+1;

if(sch[i].getId()>

sch[j].getId())

t=sch[i];

sch[i]=sch[j];

male"

if(sch[j+1].getMale()>

sch[j].getMale())

female"

if(sch[j+1].getFemale()>

sch[j].getFemale())

6.输出设计

打印函数:

输出用户需要的信息。

print(inti)

sc[i].getId()<

setw(10)<

sc[i].getName()<

setw(8)<

sc[i].getTotal()

<

setw(9)<

sc[i].getMale()<

sc[i].getFemale()<

四、调试分析

测试图:

五、关键源程序清单和执行结果

1.关键源程序

Count类为程序的核心,一切功能都围绕它进行实现。

录入的信息通过构造函数Count()按积分规则取积分后进行排序操作,最终通过调用打印函数print()输出。

2.执行结果

六、参考资料

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

当前位置:首页 > 初中教育 > 科学

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

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