运动会管理系统课程设计报告.docx
- 文档编号:30073499
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:53
- 大小:436.82KB
运动会管理系统课程设计报告.docx
《运动会管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《运动会管理系统课程设计报告.docx(53页珍藏版)》请在冰豆网上搜索。
运动会管理系统课程设计报告
一课程设计目的.....................................1
二课程设计任务和内容..............................1
三系统设计方案....................................2
3.1系统详细描述..................................2
3.1.1系统设计背景.............................2
3.1.2系统设计详细信息.........................2
3.2功能模块划分..................................2
3.2.1功能模块描述.............................2
3.2.2输入项...................................4
3.2.3输出项...................................4
四系统实现与测试...................................4
4.1主菜单实现....................................5
4.1.1流程图...................................5
4.1.2代码.....................................6
4.1.3主菜单测试...............................7
4.2查询模块实现..................................7
4.2.1流程图...................................7
4.2.2代码.....................................8
4.2.3模块测试.................................11
4.3显示数据模块实现..............................12
4.3.1流程图...................................12
4.3.2代码.....................................13
4.3.3模块测试.................................15
4.4文件输出模块..................................16
4.4.1代码.....................................16
4.4.2模块测试.................................17
4.5显示排名模块..................................17
4.5.1流程图...................................17
4.5.2代码.....................................18
4.5.3模块测试.................................19
五程序调试及错误....................................19
六参考文献..........................................20
七附录..............................................20
一、课程设计的目的
1)学习综合运用C高级语言课程和其他先修课程的知识,提高分析和解决实际问题的的能力,进一步巩固、加深和拓宽所学的知识;进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。
2)全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法;独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
3)掌握程序设计中的常用算法和C语言的编程技巧和上机调试程序的方法。
4)在参与一系列子项目的实践过程中,提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。
二、课程设计任务和内容
按照如下要求,运用C++语言,编写一套可用的较为完善的校际运动会管理系统软件(两人分模块合作)
要求:
初始化输入:
学校总数及名字,运动员总数及运动员基本信息,运动会项目(为方便测试暂定为男女分别为4项,以项目一,项目二,项目三,项目四代表)
各项目名次取法有以下几种:
取前五名:
第一名7分,第二名5分,第三名3分,第四名2分,第五名1分;取前三名:
第一名5分,第二名3分,第三名2分;用户自定义。
功能要求:
(1)由程序提醒用户填写比赛接结果,输入各项目参赛运动员运动员信息;
(2)信息录入完毕后由系统为运动员、各个学校进行排名;
(3)所有信息记录完毕后,用户可以查询各个学校的比赛成成绩和排名,运动员的比赛成绩和排名;
(4)最后还能对比赛信息输出。
注:
我与网络工程102001班黄科荣同学合作,共同完成本次有关于校际运动会管理系统的程序设计。
我负责完成查询模块、数据显示模块、文件输出模块的实现和显示排名模块。
三、系统设计方案
3.1系统详细描述
3.1.1系统设计背景
随着中国教育改革的不断深入以及大学生的普及,大学里每年都会举办运动会,一方面是为了鼓励大学生积极参加体育运动,另一方面也是培养国家体育人才。
在各个学校之间的比赛时,需要对运动会的信息进行整理,它涉及到的数据量之大,用单纯的手写记录已经不能满足用户的需求,利用运动会管理系统及时了解各个环节中信息的变更,有利于提高管理的效率。
本项目作为《c++课程设计》课程的训练项目提出,目的是为了提高同学们系统的开发,则提高大家的实践能力。
所以开发一个符合自身运动会实际情况的工作平台是十分必要的。
3.1.2系统设计详细信息
系统使用对象定为由太原科技大学,太原理工大学,山西大学,中北大学联合举办的校际运动会。
系统需要建立两个结构体学校和运动员。
学校应该包含学校名,学校代码,学校总分和学校排名等信息;运动员则要包含姓名,性别,学校,比赛成绩,比赛名次和比赛成绩等信息。
系统就是要实现学校和运动员基本信息的输入和输出,还有查询,最后再生成报表。
3.2功能模块划分
3.2.1功能模块描述
根据题目的要求及系统功能可以将系统分为学校信息录入,学生信息录入,成绩录入,查询,显示数据,输出文件,显示排名七个模块。
各个模块基本介绍如下:
学校信息录入模块:
输入学校总数,对学校名字,代码,成绩,排名等信息进行初始化。
学生信息录入模块:
输入学生总数,对运动员姓名,性别,学校,成绩,排名,得分等信息进行计算。
成绩录入模块:
录入运动员比赛成绩由系统对运动员进行排名和积分。
查询模块:
用户可以选择运动员,学校,项目三种查询方式。
显示数据模块:
显示学校信息,运动员信息和得分规则。
输出文件模块:
将文件存储。
显示排名模块:
显示学校排名和运动员排名。
注:
我主要负责查询,显示数据,输出文件,显示排名四个模块的相关内容,黄科荣同学负责编写学校信息录入,学生信息录入,成绩录入三个模块的相关内容,最后的整体代码由两个人组合完成。
图3.1校际运动会管理系统功能模块图
3.2.2输入输
以下输入项均为键盘输入:
得分规则选择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)
3.2.3输出项
学校名次intmingci[4];
学校校名stringmingzi
学生姓名stringxingming
学生性别boolxingbie
参赛项目boolxiangmu[4]
成绩floatchengji
单项得分intdefen[4]
总分intzongfen
四、系统实现与测试
4.1主菜单模块实现
4.1.1主菜单流程图
N
NNN
Y
YYYN
N
N
Y
YY
N
4.1主菜单流程图
4.1.2主菜单代码
voidmenu()//菜单
{
intw1,n;
system("cls");
cout<<"\t\t--------------------------------------------"< <<"\t\t*************welcometoload****************"< <<"\t\t--------------------------------------------"< <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"< <<"\t\t※欢迎使用校运动会计分系统※"< <<"\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※※"< <<"\t\t※※"< <<"\t\t※※"< <<"\t\t※制作人※"< <<"\t\t※※"< <<"\t\t※※"< <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"< 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.1.3主菜单测试 主菜单运行结果如图4.2 图4.2主菜单界面 4.2查询模块实现 4.2.1查询流程图 N Y N Y 图4.3查询模块流程图 4.2.2查询模块代码 voidchaxun()//查询 {voidxscx(); voidxmcx(); voidxxcx(); inta; do { cout<<"选择查询方式: "< <<"1按姓名查询: "< <<"2按项目查询: "< <<"3按学校查询: "< <<"4退出"< <<"请选择: "; cin>>a; switch(a) { case1: xscx();break; case2: xmcx();break; case3: xxcx();break; case4: break; } }while(a<1&&a>4); system("pause"); menu(); } voidxscx() {inti,sb=0; stringx; cout<<"请输入要查询的名字: "; cin>>x; for(i=0;i { if(xs[i].xingming==x) { sb++; cout<<"姓名"< for(intk=0;;k++) if(xs[i].xue==xx[k].daihao) { cout< break; } cout<<"性别"; if(xs[i].xingbie) cout< else cout< cout<<"号码"< } } if(sb==0) { cout<<"没找到该名字的学生"< } } voidxmcx() {inti,sb=0; intj; cout<<"请输入要查询的项目名: "; cin>>j; for(i=0;i { if(xs[i].xiangmu[j-1]) { sb++; cout<<"姓名"< for(intk=0;;k++) if(xs[i].xue==xx[k].daihao) { cout< break; } cout<<"性别"; if(xs[i].xingbie) cout< else cout< cout<<"号码"< } } if(sb==0) { cout<<"未找该项目的学生"< } } voidxxcx() {inti,sb=0; cout<<"学校信息为: "< for(i=0;i cout< stringl; cout<<"请输入要查询的学校代号: "; cin>>l; for(i=0;i { if(xs[i].xue==l) { sb++; cout<<"姓名"< if(xs[i].xingbie) cout< else cout< cout<<"号码"< } } if(sb==0) { cout<<"没找到该学校的学生"< } } 4.2.3查询模块测试 查询模块测试分为姓名查询如图4.4,项目查询如图4.5,学校查询如图4.6: 图4.4姓名查询界面 当选择数字1时界面如图4.4,输出学生姓名,学校,性别,号码. 图4.5项目查询界面 当选择数字2时界面如图4.5,输出参加要查询项目的运动员姓名,学校,性别,号码. 图4.6学校查询界面 当选择数字3时界面如图4.6,输出代表要查询学校参赛的运动员姓名,学校,性别,号码. 4.3显示模块查询 4.3.1显示模块流程图 Y 图4.7显示模块流程图 4.3.2显示模块代码 voidxianshi()//显示所有信息 {voidxsxxxx(); voidxsxsxx(); voidxsdfgz(); intl; do { cout<<"显示所有学校信息输入1"< <<"显示所有学生信息输入2"< <<"显示得分规则输入3"< <<"退出输入4"< <<"请选择: "; cin>>l; switch(l){ case1: xsxxxx();break; case2: xsxsxx();break; case3: xsdfgz();break; } }while(l>4&&l<1); system("pause"); menu(); } voidxsxxxx() { cout<<"学校信息为: "< for(inti=0;i cout< } voidxsxsxx() { cout< < < for(intj=0;j { cout< for(intk=0;;k++) if(xs[j].xue==xx[k].daihao) { cout< break; } if(xs[j].xingbie) cout< else cout< for(intx=0;x<4;x++) cout< cout< } cout< < for(j=0;j { for(intx=0;x<4;x++) cout< cout< } } voidxsdfgz() { for(intz=0;;z++) { if(df[z]! =0) { cout<<"第"< continue; } else { cout<<"其后所有人得分为0"< break; } } } 4.3.3显示模块测试 显示模块测试分为学校显示如图4.8,所有学生显示如图4.9和得分显示如图4.10 图4.8学校信息显示界面 图4.8选择1时参赛学校的名称,代号,得分和排名的显示. 图4.9学生信息显示界面 图4.9为选择2时所有参赛学生学校,性别,参赛项目,成绩,得分和排名的信息显示. 图4.10得分规则显示界面 图4.10为选择号码3时比赛采用的积分规则的显示. 4.4输出文件模块 4.4.1输出模块代码 voidwenjian()//输出到文件 { fstreams1("输出文件.txt",ios: : out); if(! s1) cout<<"打开失败! "; s1<<"学校名字学校代码学校名次学校总分"<<'\n'; for(inti=0;i { s1< } s1<<'\n'<<'\n'<<"姓名学校代码性别号码项目1成绩名次项目2成绩名次项目3成绩名次项目4成绩名次总分"<<'\n'; for(i=0;i { s1< < < < < < }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运动会 管理 系统 课程设计 报告