C++语言课程设计报告书运动会管理系统.docx

上传人:b****3 文档编号:7002082 上传时间:2023-05-10 格式:DOCX 页数:23 大小:1.06MB
下载 相关 举报
C++语言课程设计报告书运动会管理系统.docx_第1页
第1页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第2页
第2页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第3页
第3页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第4页
第4页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第5页
第5页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第6页
第6页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第7页
第7页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第8页
第8页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第9页
第9页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第10页
第10页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第11页
第11页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第12页
第12页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第13页
第13页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第14页
第14页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第15页
第15页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第16页
第16页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第17页
第17页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第18页
第18页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第19页
第19页 / 共23页
C++语言课程设计报告书运动会管理系统.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++语言课程设计报告书运动会管理系统.docx

《C++语言课程设计报告书运动会管理系统.docx》由会员分享,可在线阅读,更多相关《C++语言课程设计报告书运动会管理系统.docx(23页珍藏版)》请在冰点文库上搜索。

C++语言课程设计报告书运动会管理系统.docx

C++语言课程设计报告书运动会管理系统

淮海工学院计算机工程学院

课程设计报告

设计名称:

运动会管理系统

姓名学号:

专业班级:

系(院):

设计时间:

设计地点:

计算机工程学院机房、教室、学生宿舍、图书馆

指导教师评语:

 

签名:

年月日

1.课程设计目的

本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《C++程序设计》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:

(1)巩固和加深学生对C++课程的基本知识的理解和掌握;

(2)掌握C++编程和程序调试的基本技能;(3)利用C++进行简单软件设计的基本思路和方法;(4)提高运用C++解决实际问题的能力;(5)掌握书写程序设计说明文档的能力。

本次课程设计利用《C++程序设计》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,使学生能够独立完成所布置的任务。

2.课程设计任务与要求:

要求:

1)设计题目、设计要求以及系统功能需求分析;

2)总体设计:

包括模块说明、模块结构图和系统流程图;

3)详细设计:

包括主要功能模块的算法设计思路以及对应的工作流程图;

4)源程序代码及设计成果:

完整源程序清单和设计成果;

5)总结:

调试分析过程描述:

包括测试数据、测试输出结果以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等)包括课程设计过程中的学习体会与收获、对C++和本次课程设计的认识等内容.;

任务:

设计一个运动会管理系统,用于管理比赛时体操、跳水、滑冰等赛事裁判员对赛事的评分。

假设只有这3场比赛event,每场有5个裁判评分。

要求如下:

1)能够提供一个程序界面对运动员的基本资料进行输入、删除、修改和查询等,基本资料应保存在文件中。

2)能够输入、修改、查询某项比赛event的比赛时间,3项比赛的资料保存在文件中。

3) 比赛项目分男子组和女子组,每个运动员的总分计算规则是:

去掉最高分、去掉最低分求平均值。

4)提供界面让工作人员输入每场比赛的所有运动员的每个裁判的分数,能查询某场比赛所有运动员的最后得分

5)评分的资料保存在score.txt中,包含的数据项有:

所属的学校、运动员编号、得分1、得分2、得分3、得分4、得分5、总分、平均分。

3.课程设计说明书

概要设计

一、模块说明

为了能够在运动会中更好地管理运动会中参加比赛的学生们的各项情况,同时,便于数据的统计和查找,我设计了一个运动会信息管理系统。

在本次程序设计中我设计了十二个模块,分为五个大模块,分别是运动员基本资料管理模块、比赛event数据管理模块、运动员分数输入模块、运动员分数查询模块、数据保存模块,其中运动员基本资料管理模块又分为运动员基本资料输入、运动员基本资料修改、运动员基本资料删除、运动员基本资料查询四个小模块,比赛event数据管理模块又分为比赛event数据输入、比赛event数据修改、比赛event数据查询三个小模块。

二、模块结构图

三、系统流程图

详细设计

各功能模块设计思路及流程图:

1、运动员基本资料管理模块用于管理运动员资料的添加、修改、删除、查询等功能,分别通过4个函数来实现这个功能。

2、比赛event数据管理模块用于比赛event资料的输入、修改、查询等功能,分别通过3个函数来实现这个功能。

运动员成绩输入通过for循环进行输入。

4.课程设计成果

程序源代码

#include

#include

#include

#include

usingnamespacestd;

voidkaishi()//开始界面

{

cout<<"********学校运动会管理系统*********"<

cout<<"运动员基本资料数据管理请按:

1"<

cout<<"比赛event数据管理请按:

2"<

cout<<"运动员得分数据输入请按:

3"<

cout<<"运动员最终成绩查询请按:

4"<

cout<<"运动员成绩资料保存请按:

5"<

cout<<"退出程序请按:

6"<

cout<<"***********************************"<

cout<

cout<<"请选择:

"<

}

classinfoplayer//定义运动员数据的一个类

{

public:

intnumber;

chareve[20];

charxuex[20];

};

infoplayera[5];

inti=0;

voidinput1()//运动员数据输入函数

{

ifstreamoutfile1("player.txt");

fstreamiofile("player.txt",ios:

:

in|ios:

:

out|ios:

:

binary);

if(!

iofile)

{

cerr<<"打开文件player.txt错误"<

exit

(1);

}

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

{

cout<<"请分别输入运动员的编号参加的赛事及学校"<

cin>>a[i].number>>a[i].eve>>a[i].xuex;

iofile.write((char*)&a[i],sizeof(a[i]));

}

cout<<"-----------输入成功----------"<

}

voidxiugai1()//运动员数据修改函数

{

cout<<"现在对运动员基本资料数据进行修改"<

ifstreamoutfile1("player.txt");

fstreamiofile("player.txt",ios:

:

in|ios:

:

out|ios:

:

binary);

if(!

iofile)

{

cerr<<"打开文件player.txt错误"<

exit

(1);

}

intd;

charpanduan;

do

{

cout<<"选择需要修改的运动员编号";

cin>>d;

iofile.seekp((d-1)*sizeof(a[0])+1,ios:

:

beg);

cout<<"输入参加的赛事";

cin>>a[d-1].eve;

cout<<"输入学校";

cin>>a[d-1].xuex;

iofile.write((char*)&a[d-1],sizeof(a[d-1]));

cout<<"修改成功"<

cout<<"是否需要继续修改?

需要请输入y,否则输入n:

";

cin>>panduan;

}while(panduan=='y'||panduan=='Y');

}

voidchaxun1()//运动员数据查询函数

{

cout<<"运动员基本资料数据情况查询,结果为:

"<

cout<<"运动员编号参加的比赛所在学校"<

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

{

cout<<(i+1)<<""<

:

left)

<

:

left)<

cout<

}

cout<

}

voidshanchu1()//运动员数据删除函数

{

ifstreamoutfile1("player.txt");

fstreamiofile("player.txt",ios:

:

in|ios:

:

out|ios:

:

binary);

intc;

cout<<"请选择对几号运动员的数据进行删除:

";

charpanduan;

do

{

cin>>c;

a[c-1].number=NULL;strcpy(a[c-1].eve,"");;strcpy(a[c-1].xuex,"");

iofile.seekp((c-1)*sizeof(a[0]),ios:

:

beg);

iofile.write((char*)&a[c-1],sizeof(a[c-1]));

cout<<"--------------删除成功-------------"<

cout<<"是否需要继续删除?

需要请输入y,否则输入n";

cin>>panduan;

}while(panduan=='y'||panduan=='Y');

}

voidplayer()//运动员数据管理函数

{

ofstreamfile1("player.txt",ios:

:

app);

cout<<"*******运动员基本资料数据管理*******"<

cout<<"运动员基本资料数据输入请按:

1"<

cout<<"运动员基本资料数据修改请按:

2"<

cout<<"运动员基本资料数据删除请按:

3"<

cout<<"运动员基本资料数据查询请按:

4"<

cout<<"退出管理请按:

5"<

cout<<"************************************"<

cout<

cout<<"请选择:

"<

intj;

cin>>j;

switch(j)

{

case1:

input1();break;

case2:

xiugai1();break;

case3:

shanchu1();break;

case4:

chaxun1();break;

default:

cout<

};

}

classeven//定义赛事时间的类

{

public:

intmonth;

intday;

};

evenb[3];

voidinput2()//输入赛事时间的函数

{

ifstreamoutfile1("event.txt");

fstreamiofile("event.txt",ios:

:

in|ios:

:

out|ios:

:

binary);

if(!

iofile)

{

cerr<<"打开文件event.txt错误"<

exit

(1);

}

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

{

cout<<"请分别输入赛事的比赛时间,顺序为体操、跳水、滑冰。

例如2月3日输入23"<

cin>>b[i].month>>b[i].day;

iofile.write((char*)&b[i],sizeof(b[i]));

}

cout<<"-----------输入成功----------"<

}

voidxiugai2()//修改赛事时间的函数

{

cout<<"现在对比赛event数据进行修改"<

ifstreamoutfile1("event.txt");

fstreamiofile("event.txt",ios:

:

in|ios:

:

out|ios:

:

binary);

if(!

iofile)

{

cerr<<"打开文件event.txt错误"<

exit

(1);

}

intd;

charpanduan;

do

{

cout<<"选择需要修改的比赛编号1代表体操,2代表跳水,3代表滑冰";

cin>>d;

iofile.seekp((d-1)*sizeof(b[0]),ios:

:

beg);

cout<<"请输入新的比赛时间:

"<

cin>>b[d-1].month>>b[d-1].day;

iofile.write((char*)&b[d-1],sizeof(b[d-1]));

cout<<"修改成功"<

cout<<"是否需要继续修改?

需要请输入y,否则输入n:

";

cin>>panduan;

}while(panduan=='y'||panduan=='Y');

}

voidchaxun2()//查询赛事时间的函数

{

cout<<"比赛event的比赛时间为:

"<

cout<<"体操比赛的时间为"<

cout<<"跳水比赛的时间为"<

cout<<"滑冰比赛的时间为"<

cout<

}

voidevent()//赛事管理函数

{

ofstreamfile1("event.txt",ios:

:

app);

cout<<"*********比赛event数据管理*********"<

cout<<"比赛event数据输入请按:

1"<

cout<<"比赛event数据修改请按:

2"<

cout<<"比赛event数据查询请按:

3"<

cout<<"退出管理请按:

4"<

cout<<"***********************************"<

cout<<"请选择:

";

intk;

cin>>k;

switch(k)

{

case1:

input2();break;

case2:

xiugai2();break;

case3:

chaxun2();break;

default:

cout<

};

}

classscore//定义运动员分数的类

{

public:

floatsco[5];

floatsum;

floataver;

};

scorec[5];

voidinputscore()//成绩输入函数

{

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

{

cout<<"请输入5名评委给"<<(i+1)<<"号运动员的打的分数"<

cin>>c[i].sco[0]>>c[i].sco[1]>>c[i].sco[2]>>c[i].sco[3]>>c[i].sco[4];

}

cout<<"-----------输入成功----------"<

}

voidinquiry()//成绩查询函数

{

intx,j;

floattemp;

for(x=0;x<5;x++)

{

for(j=0;j<5;j++)

{

for(i=0;i<4;i++)

if(c[x].sco[i]>c[x].sco[i+1])

temp=c[x].sco[i];c[x].sco[i]=c[x].sco[i+1];c[x].sco[i+1]=temp;

}

c[x].aver=(c[x].sco[1]+c[x].sco[2]+c[x].sco[3])/3;

c[x].sum=c[x].sco[1]+c[x].sco[2]+c[x].sco[3]+c[x].sco[4]+c[x].sco[5];

}

cout<<"运动员的最终得分为:

"<

cout<<"运动员编号得分1得分2得分3得分4得分5最终得分"<

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

{

cout<

:

left)<<(1+i)

<

:

left)<

<

:

left)<

<

:

left)<

<

:

left)<

<

:

left)<

<

:

left)<

}

}

voidbaocun()//数据保存

{

ifstreamoutfile1("score.txt");

ofstreamfile1("score.txt",ios:

:

app);

fstreamiofile("score.txt",ios:

:

in|ios:

:

out|ios:

:

binary);

if(!

iofile)

{

cerr<<"打开文件score.txt错误"<

exit

(1);

}

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

{

iofile.write((char*)&a[i],sizeof(a[i]));

iofile.write((char*)&b[i],sizeof(b[i]));

iofile.write((char*)&c[i],sizeof(c[i]));

}

cout<<"------------保存成功------------"<

outfile1.close();

file1.close();

iofile.close();

}

intmain()//程序主函数

{

inti;

do

{

kaishi();

cin>>i;

switch(i)

{

case1:

player();break;

case2:

event();break;

case3:

inputscore();break;

case4:

inquiry();break;

case5:

baocun();break;

case6:

cout<<"谢谢使用,请关闭"<

default:

break;

}

}while(6);

return0;

}

运行截图

程序主界面

 

运动员数据管理界面

运动员数据输入

 

运动员数据修改

运动员数据删除

运动员数据的查询

比赛数据管理系统及数据的输入

比赛数据的修改

比赛数据的查询

运动员分数数据的输入

运动员成绩的查询

文件的保存

程序的退出

5.课程设计心得

学了一年的C++,但在课程设计的时候然我们写出了一个较长的程序时,一开始看到题目,一种无从下手的感觉,一种什么都不会的感觉,一种在这一年里自己什么都没学会样子。

但同学们跟我不一样,他们学的挺多。

但和同学们交流了以后,我也觉得自己还有可能会做出这个程序,于是开始做课程设计了!

虽然遇到来很多困难,但是最终还是完成了课程设计,通过这次设计我掌握了C++的编译,调试运行,以后,我会更加的努力的学习编程!

6.附录

参考资料

谭浩强.《C++程序设计》清华大学出版社2010年10月

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2