校际运动会管理系统.docx
- 文档编号:11545136
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:21
- 大小:35.45KB
校际运动会管理系统.docx
《校际运动会管理系统.docx》由会员分享,可在线阅读,更多相关《校际运动会管理系统.docx(21页珍藏版)》请在冰点文库上搜索。
校际运动会管理系统
《校际运动会管理系统》
程序设计基础课程设计报告
二OO八年七月二十九日
1:
课程设计的目的
本程序主要学习类的使用,以及子类的调用,了解函数体的调用case语句使用,for循环,函数的调用,进一步加深对语言程序设计的了解,解决一些简单的程序应用,综合实现程序的利用。
2:
校际运动会管理系统
2:
问题描述
(1)初始化输入:
N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数;
各项目名次取法有如下几种:
取前5名:
第1名得7分,第2名得5分,第3名得3分,第4名得2分,第5名得1分;
取前三名:
第一名得5分,第二名得3分,第三名得2分;
用户自定义:
各名次权值有用户定义。
(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。
3:
课程设计的基本要求:
根据规定的题目,编写程序设计的说明(程序设计文当),程序设计说明包括以下容:
设计简要说明
1)程序运行的软硬件环境
2)程序的组成模块及每个模块的基本功能
3)每个模块的流程图
4)程序的使用方法
5)源程序的清单
6)总结与体会
3.课程设计报告容
3.1第一个程序有一个Point类,该类共有12个函数
3.2第一个程序的类中各个函数作用分别为:
voidMenu();//显示选单
voidSet1();//设置竞赛项目总数
voidSet2();//设置某项目名次的取法及每一名次的分值
voidFind();//查询功能
voidSet3();//设置竞赛项目信息
voidPut();//打印竞赛项目信息
voidSet4();//为某个竞赛项目设定比赛结果信息
voidList();//按学校打印成绩
voidGetReport();//生成报表
voidQuit();//退出功能
4.算法描述
该程序主要采用类的结构,及其应用,公有10函数,在函数中实现嵌套,连接,指针的传递,数组等简单的程序结构。
5.运算结果
该程序运行结果及其程序逐步实现为以下图片显示
6.源程序
#include
#include
usingnamespacestd;
classSport//
{
public:
voidMenu();//显示选单
voidSet1();//设置竞赛项目总数
voidSet2();//设置某项目名次的取法及每一名次的分值
voidFind();//查询功能
voidSet3();//设置竞赛项目信息
voidPut();//打印竞赛项目信息
voidSet4();//为某个竞赛项目设定比赛结果信息
voidList();//按学校打印成绩
voidGetReport();//生成报表
voidQuit();//退出功能
private:
stringname;//学校名称
stringsnumber;//学校编号
stringmtname;//男子竞赛项目类型
stringmtnumber;//男子竞赛项目编号
stringftname;//女子竞赛项目类型
stringftnumber;//女子竞赛项目编号
intnumber;//得分
};
strings;//定义字符型全局变量
intn;//定义整型全局变量
Sportt[100],tt[100];//定义结构体数组
intt1[100];
intn1,n2,n3;
voidSport:
:
Menu()//显示选单
{
cout<<"\n**********"<<"选单"<<"**********"< cout<<"\n" <<"设置竞赛项目总数<1>\t" <<"设置竞赛项目名次<2>\n" <<"设置竞赛项目信息<3>\t" <<"设定比赛结果信息<4>\n" <<"查询<5>\t" <<"按学校打印成绩<6>\n" <<"打印竞赛项目信息<7>\t" <<"生成报表<8>\n" <<"退出 cout< cout<<"******************************"< cout< cout<<"请您输入相应的字母: "; } voidSport: : Set1()//设置竞赛项目总数 { cout<<"请输入男子竞赛项目总数(0<总项目数<8): "; cin>>n1; cout< cout<<"请输入女子竞赛项目总数(0<总项目数<8): "; cin>>n2; cout< cout<<"请输入参加运动会的学校总数(0<学校总数<8): "; cin>>n3; for(inti=0;i { t[i].snumber=i+1; cout<<"\n请输入编号为"< "; cin>>tt[i].name; } cout< cout<<"**********输入完毕! ***********"< Sportsport; sport.Menu();//调用Menu函数,显示选单 } voidSport: : Set2()//设置某项目名次的取法及每一名次的分值 { charch; inti,p; for(inti1=0;i1<10;i1++) { cout< stringover;//定义字符串变量,用于退出 cout<<"退出请输入over,继续请输入c,然后按相应的字母查询! "< cin>>over; if(over=="over")break; cout<<"\n请选择编号为"< 取前5名;1: 取前3名;2: 用户自定义): "; cin>>ch; cout< switch(ch) { case'0': /*取前5名*/ { t1[0]=7; t1[1]=5; t1[2]=3; t1[3]=2; t1[4]=1; break; } case'1': /*取前3名*/ { for(inti=0;i<3;i++) { t1[0]=5; t1[1]=3; t1[2]=2; } break; } case'2': /*用户自定义类型*/ { cout<<"退出请输入over,继续请输入c,然后按相应的字母查询! "< for(i=0;i<10;i++) { cout< stringover;//定义字符串变量,用于退出 cin>>over; if(over=="over")break; cout<<"\n请输入该项目第"< "< cin>>p; if(p<=0) { cout<<"\n输入有误,分值应大于0! "< } } }break; default: /*错误的输入*/ { cout<<"\n错误的选择! "; break; } } } /*Sportsport; sport.Menu();//调用Menu函数,显示选单*/ } voidSport: : Find()//查询功能 { cout<<"退出请输入over,继续请输入c,然后按相应的字母查询! "< for(inti=0;i<10;i++) { cout< stringover;//定义字符串变量,用于退出 cin>>over; if(over=="over")break; cout<<"请输入你的选择(参赛学校信息 "; chars; cin>>s; switch(s) { case'n': { cout<<"请输入学校的名称: "; stringfname; cin>>fname; for(inti=0;i { if(fname==tt[i].name) { cout<<"\n学校编号: "< cout<<"学校名称: "< cout<<"男子项目编号: "< cout<<"男子项目名称: "< cout<<"女子项目编号: "< cout<<"女子项目名称: "< break; } } if(i==n3)cout<<"\n本次查询完毕,没有查询到此人的相关信息! ! ! "< }break; case'h': { cout<<"请选择: (1-男2-女)"< if(i==1) { cout<<"请输入比赛项目的名称: "; stringfname; cin>>fname; for(inti=0;i { if(fname==t[i].mtname) { cout<<"男子项目编号: "< cout<<"男子项目名称: "< cout< break; } } if(i==n1)cout<<"\n本次查询完毕,没有查询到此人的相关信息! ! ! "< } if(i==2) { cout<<"请输入比赛项目的名称: "; stringffname; cin>>ffname; for(inti=0;i { if(ffname==t[i].ftname) { cout<<"女子项目编号: "< cout<<"女子项目名称: "< cout< break; } } if(i==n2)cout<<"\n本次查询完毕,没有查询到此人的相关信息! ! ! "< } }break; case't': { cout<<"请输入学校的名称: "; stringfname; cin>>fname; for(inti=0;i { if(fname==tt[i].name) { cout< break; } } if(i==n3)cout<<"\n本次查询完毕,没有查询到此人的相关信息! ! ! "< }break; default: { cout<<"\n输入字母错误,请重新输入! ! ! "< break; }break; } } Sportsport; sport.Menu();//调用Menu函数,显示选单*/ } voidSport: : Set3()//设置竞赛项目信息 { inti=0; for(i=0;i<10;i++) { cout< stringover;//定义字符串变量,用于退出 cout<<"退出请输入over,继续请输入c,然后按相应的字母查询! "< cin>>over; if(over=="over")break; cout<<"\n请选择男子或女子项目编号(1: 男2: 女): ";/*项目类型: 男子或女子项目*/ charch; cin>>ch; cout< switch(ch) { case'1': { for(inti=0;i { t[i].mtnumber=i+1; cout<<"\n请输入男子项目编号为"< ";/*项目名称*/ cin>>t[i].mtname; } }break; case'2': { for(inti=0;i { t[i].ftnumber=i+1; cout<<"\n请输入女子项目编号为"< ";/*项目名称*/ cin>>t[i].ftname; } }break; default: { cout<<"\n输入字母错误,请重新输入! ! ! ";/*项目名称*/ }break; } } Sportsport; sport.Menu();//调用Menu函数,显示选单*/ } voidSport: : Put()//打印竞赛项目信息 { inti; cout<<"\n共有"< for(i=0;i { cout<<"\n学校编号: "< cout<<"学校名称: "< } cout<<"\n您输入的比赛项目信息如下: "< for(i=0;i { cout<<"\n男子项目编号: "< cout<<"男子项目名称: "< } for(i=0;i { cout<<"\n女子项目编号: "< cout<<"女子项目名称: "< } Sportsport; sport.Menu();//调用Menu函数,显示选单*/ } voidSport: : Set4()//为某个竞赛项目设定比赛结果信息 { inti=0,j=0; cout<<"\n请选择男子或女子项目(1: 男2: 女): "; intch; cin>>ch; cout< switch(ch) { case1: { for(i=0;i { cout<<"\n填写男子项目"< "< Sportsport; sport.Set2(); cout<<"\n输入获得第"< "< t[i].number=t1[i];//得分 cout<<"\n: "< cin>>t[i].name; cout<<"\n学校编号: ";/*学校编号检查编号合法性*/ cin>>t[i].snumber; } }break; case2: { for(i=0;i { cout<<"\n填写女子项目"< "< Sportsport; sport.Set2(); cout<<"\n输入获得第"< "< t[i].number=t1[i];//得分 cout<<"\n: "< cin>>t[i].name; cout<<"\n学校编号: ";/*学校编号检查编号合法性*/ cin>>t[i].snumber; } }break; default: { cout<<"\n输入字母错误,请重新输入! ! ! "; break; } } Sportsport; sport.Menu();//调用Menu函数,显示选单 } voidSport: : List()//按学校打印成绩 { if(n1<=0)cout<<"\n没有学校参加比赛! "< for(inti=0;i { cout<<"\n学校编号: "< cout<<"学校名称: "< cout<<"男子团体成绩: "< cout<<"女子团体成绩: "< } cout<<"**********输出完毕! ***********"< Sportsport; sport.Menu();//调用Menu函数,显示选单 } voidSport: : GetReport()//生成报表 { inti,manTotal=0,womTotal=0,Total=0;//男子团体总分,女子团体总分,团体总分 cout<<"\n团体总分报表: "< for(i=0;i { if(t[i].name==tt[i].name)//同一学校 { manTotal=manTotal+t1[i]; womTotal=womTotal+t1[i]; } } Total+=manTotal+womTotal; cout<<"男子团体总分: "< cout<<"女子团体总分: "< cout<<"团体总分: "< } voidSport: : Quit()//退出功能 { cout<<"*********操作完毕,使用! ***********"< } intmain()//根据选单的选项调用各函数,并完成相应的功能 { cout<<"\n" <<"******************************\n" <<"*欢迎您使用这个校际运动会管理系统! *\n" <<"*这是一个简单的校际运动会管理程序! *\n" <<"*可以对校际运动会信息进行简单管理! *\n" <<"******************************\n" <<"\n"; Sportsport; sport.Menu();//调用Menu函数,显示选单 chars; do { cin>>s; cout< switch(s) { case'1': { sport.Set1();//调用创建函数 break; } case'2': { sport.Set2();//调用保存函数 break; } case'3': { sport.Set3();//调用增加函数 break; } case'4': { sport.Set4();//调用修改函数 break; } case'5': { sport.Find();//调用查询函数 break; } case'6': { sport.List();//调用显示函数 break; } case'7': { sport.Put();//打印竞赛项目信息 break; } case'8': { sport.GetReport();//生成报表 break; } case'q': case'Q': { sport.Quit();//调用退出函数 break; } default: { cout<<"\n您输入的字母错误,请按提示重新输入! "< break; } } }while(s! ='q'&&s! ='Q'); return0; } 4.课程设计总结 通过做课程设计,对程序的编写以及对程序中出现的一些错误的修改,我觉得自己对C++有了进一步的认识,学到了许多以前在课本上没有学到的东西,自己的编程水平也有一定程度的提高。 同时,真正体会到了编写程序要一点点的来: 一个题中可能有多个函数,应该一个一个的去编写,等检查无误后再进行其他函数的编写,这样不仅方便修改,也可以减少出错,这一点对编程非常重要。 \n";
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校际 运动会 管理 系统