运动会管理系统课程设计报告Word下载.docx

上传人:b****5 文档编号:20977807 上传时间:2023-01-26 格式:DOCX 页数:40 大小:126.62KB
下载 相关 举报
运动会管理系统课程设计报告Word下载.docx_第1页
第1页 / 共40页
运动会管理系统课程设计报告Word下载.docx_第2页
第2页 / 共40页
运动会管理系统课程设计报告Word下载.docx_第3页
第3页 / 共40页
运动会管理系统课程设计报告Word下载.docx_第4页
第4页 / 共40页
运动会管理系统课程设计报告Word下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

运动会管理系统课程设计报告Word下载.docx

《运动会管理系统课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《运动会管理系统课程设计报告Word下载.docx(40页珍藏版)》请在冰豆网上搜索。

运动会管理系统课程设计报告Word下载.docx

在各个学校之间的比赛时,需要对运动会的信息进行整理,它涉及到的数据量之大,用单纯的手写记录已经不能满足用户的需求,利用运动会管理系统及时了解各个环节中信息的变更,有利于提高管理的效率。

本项目作为《c++课程设计》课程的训练项目提出,目的是为了提高同学们系统的开发,则提高大家的实践能力。

所以开发一个符合自身运动会实际情况的工作平台是十分必要的。

系统使用对象定为由太原科技大学,太原理工大学,山西大学,中北大学联合举办的校际运动会。

系统需要建立两个结构体学校和运动员。

学校应该包含学校名,学校代码,学校总分和学校排名等信息;

运动员则要包含姓名,性别,学校,比赛成绩,比赛名次和比赛成绩等信息。

系统就是要实现学校和运动员基本信息的输入和输出,还有查询,最后再生成报表。

3.2功能模块划分

根据题目的要求及系统功能可以将系统分为学校信息录入,学生信息录入,成绩录入,查询,显示数据,输出文件,显示排名七个模块。

各个模块基本介绍如下:

学校信息录入模块:

输入学校总数,对学校名字,代码,成绩,排名等信息进行初始化。

学生信息录入模块:

输入学生总数,对运动员姓名,性别,学校,成绩,排名,得分等信息进行计算。

成绩录入模块:

录入运动员比赛成绩由系统对运动员进行排名和积分。

查询模块:

用户可以选择运动员,学校,项目三种查询方式。

显示数据模块:

显示学校信息,运动员信息和得分规则。

输出文件模块:

将文件存储。

显示排名模块:

显示学校排名和运动员排名。

我主要负责查询,显示数据,输出文件,显示排名四个模块的相关内容,黄科荣同学负责编写学校信息录入,学生信息录入,成绩录入三个模块的相关内容,最后的整体代码由两个人组合完成。

校际运动会管理系统

 

图3.1校际运动会管理系统功能模块图

以下输入项均为键盘输入:

得分规则选择inta(1、2、3)

选择主菜单选项intn(1、2、3、4、5、6、7、8)

学校个数intXN

学校校名stringmingzi

学校代号stringdaihao

学生数量intSN

学生姓名stringxingming

学生性别boolxingbie

参赛项目boolxiangmu[4]

成绩floatchengji

选择查询方式inta(1、2、3、4)

选择显示的信息intl(1、2、3、4)

选择现实的排名inta(1、2、3)

学校名次intmingci[4];

学校校名stringmingzi

单项得分intdefen[4]

总分intzongfen

四、系统实现与测试

4.1主菜单模块实现

N

NNN

Y

YYYN

N

N

Y

YY

4.1主菜单流程图

voidmenu()//菜单

{

intw1,n;

system("

cls"

);

cout<

<

"

\t\t--------------------------------------------"

endl

<

\t\t*************welcometoload****************"

\t\t※※※※※※※※※※※※※※※※※※※※※※"

\t\t※欢迎使用校运动会计分系统※"

\t\t※※"

\t\t※1.学校信息录入※"

\t\t※2.学生信息录入※"

\t\t※3.成绩录入※"

\t\t※4.查询※"

\t\t※5.显示数据※"

\t\t※6.输出文件※"

\t\t※7.显示排名※"

\t\t※8.退出※"

\t\t※制作人※"

endl;

do

{

cout<

请输入你想操作的代号(1-8):

cin>

>

n;

if(n<

1||n>

8)

{

w1=1;

cout<

您的输入有误,请重新输入!

}

elsew1=0;

}while(w1==1);

switch(n)

case1:

xuexiaoluru();

case2:

xueshengluru();

case3:

chengjiluru();

case4:

chaxun();

case5:

xianshi();

case6:

wenjian();

case7:

paimingxianshi();

}

}

主菜单运行结果如图4.2

图4.2主菜单界面

4.2查询模块实现

图4.3查询模块流程图

voidchaxun()//查询

{voidxscx();

voidxmcx();

voidxxcx();

inta;

do

{

cout<

选择查询方式:

1按姓名查询:

2按项目查询:

3按学校查询:

4退出"

请选择:

;

cin>

a;

switch(a)

case1:

xscx();

break;

case2:

xmcx();

case3:

xxcx();

}while(a<

1&

&

a>

4);

system("

pause"

menu();

voidxscx()

{inti,sb=0;

stringx;

请输入要查询的名字:

x;

for(i=0;

i<

SN;

i++)

if(xs[i].xingming==x)

{

sb++;

cout<

姓名"

xs[i].xingming<

学校"

for(intk=0;

k++)

if(xs[i].xue==xx[k].daihao)

{

cout<

setw(15)<

xx[k].mingzi;

break;

}

cout<

性别"

if(xs[i].xingbie)

setw(4)<

男"

else

女"

号码"

xs[i].haoma<

}

if(sb==0)

cout<

没找到该名字的学生"

voidxmcx()

intj;

请输入要查询的项目名:

j;

if(xs[i].xiangmu[j-1])

未找该项目的学生"

voidxxcx()

学校信息为:

endl<

学校名称"

学校代号"

XN;

xx[i].mingzi<

"

xx[i].daihao<

stringl;

请输入要查询的学校代号:

l;

if(xs[i].xue==l)

l<

if(xs[i].xingbie)

setw(6)<

else

xs[i].haoma;

}

没找到该学校的学生"

查询模块测试分为姓名查询如图4.4,项目查询如图4.5,学校查询如图4.6:

图4.4姓名查询界面

当选择数字1时界面如图4.4,输出学生姓名,学校,性别,号码.

图4.5项目查询界面

当选择数字2时界面如图4.5,输出参加要查询项目的运动员姓名,学校,性别,号码.

图4.6学校查询界面

当选择数字3时界面如图4.6,输出代表要查询学校参赛的运动员姓名,学校,性别,号码.

4.3显示模块查询

图4.7显示模块流程图

voidxianshi()//显示所有信息

{voidxsxxxx();

voidxsxsxx();

voidxsdfgz();

intl;

do

显示所有学校信息输入1"

显示所有学生信息输入2"

显示得分规则输入3"

退出输入4"

请选择:

cin>

switch(l){

xsxxxx();

xsxsxx();

xsdfgz();

}while(l>

4&

1);

voidxsxxxx()

setw(8)<

学校得分"

学校排名"

for(inti=0;

xx[i].chengji<

xx[i].mingci<

voidxsxsxx()

学校"

性别"

<

setw(12)<

项目1成绩"

项目2成绩"

项目3成绩"

项目4成绩"

for(intj=0;

j<

j++)

xs[j].xingming;

if(xs[j].xue==xx[k].daihao)

if(xs[j].xingbie)

for(intx=0;

x<

4;

x++)

xs[j].xiangmu[x]<

xs[j].chengji[x];

setw(18)<

项目1得分排名"

项目2得分排名"

项目3得分排名"

项目4得分排名"

setw(7)<

总分"

for(j=0;

for(intx=0;

setw(9)<

xs[j].defen[x]<

xs[j].mingci[x]<

setw(7);

xs[j].zongfen<

voidxsdfgz()

for(intz=0;

z++)

if(df[z]!

=0)

{

第"

z+1<

名得"

df[z]<

分"

continue;

}

其后所有人得分为0"

break;

显示模块测试分为学校显示如图4.8,所有学生显示如图4.9和得分显示如图4.10

图4.8学校信息显示界面

图4.8选择1时参赛学校的名称,代号,得分和排名的显示.

图4.9学生信息显示界面

图4.9为选择2时所有参赛学生学校,性别,参赛项目,成绩,得分和排名的信息显示.

图4.10得分规则显示界面

图4.10为选择号码3时比赛采用的积分规则的显示.

4.4输出文件模块

voidwenjian()//输出到文件

fstreams1("

输出文件.txt"

ios:

:

out);

if(!

s1)

打开失败!

s1<

学校名字学校代码学校名次学校总分"

'

\n'

for(inti=0;

s1<

int(xx[i].chengji)<

姓名学校代码性别号码项目1成绩名次项目2成绩名次项目3成绩名次项目4成绩名次总分"

for(i=0;

xs[i].xue<

xs[i].xingbie<

<

xs[i].xiangmu[0]<

xs[i].chengji[0]<

xs[i].mingci[0]<

xs[i].xiangmu[1]<

xs[i].chengji[1]<

xs[i].mingci[1]<

xs[i].xiangmu[2]<

xs[i].chengji[2]<

xs[i].mingci[2]<

xs[i].xiangmu[3]<

xs[i].chengji[3]<

xs[i].mingci[3]<

xs[i].zongfen<

s1.close();

输出成功!

menu();

图4.11输出文件

4.5显示排名

图4.12排名模块流程图

voidpaimingxianshi()//显示排名

{voidxxpm();

voidydypm();

1学校排名"

2运动员总分排名"

3退出"

xxpm();

ydypm();

voidxxpm()

stringdd[50];

for(inti=0;

dd[xx[i].mingci-1]=xx[i].mingzi;

i+1<

名为"

dd[i]<

voidydypm()

stringdd[200],te;

intss[200],mp,p,q;

dd[i]=xs[i].xingming;

ss[i]=xs[i].zongfen;

for(p=0;

p<

p++)

for(q=p+1;

q<

SN-1;

q++)

if(ss[p]<

ss[q])

{

te=dd[q];

dd[q]=dd[p];

dd[p]=te;

mp=ss[q];

ss[q]=ss[p];

ss[p]=mp;

}

显示排名测试分为学校排名如图4.13,运动员排名如图4.13

图4.13学校排名界面

图4.14运动员排名界面

五、调试错误及解决方法

在调试过程中遇到了各种各样的错误,但总结起来也就是马虎造成的,现列举一二。

如在调用函数时出现函数未声明的错误,只要在函数的开头进行声明就行了;

还有如“D:

\测试.cpp(579):

errorC2018:

unknowncharacter'

0xa3'

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

当前位置:首页 > 自然科学 > 物理

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

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