校际运动会管理系统.docx
- 文档编号:22790492
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:24
- 大小:18.97KB
校际运动会管理系统.docx
《校际运动会管理系统.docx》由会员分享,可在线阅读,更多相关《校际运动会管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
校际运动会管理系统
《校际运动会管理系统》
程序设计基础课程设计报告
二 OO 八 年 七 月 二十九日
1
1.课程设计目的 ........................................................................................2
2.课程设计题目描述和要求 ....................................................................2
3.课程设计报告内容 ................................................................................3
3.1sport 类(lei) ....................................................................................4
3.2 主类及其子类 ..............................................................................4
4.算法描述 ................................................................................................4
5.运算结果 ................................................................................................4
6.源程序及流程图 ....................................................................................5
7.课程设计总结 ......................................................................................20
2
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.课程设计报告内容
3.1 第一个程序有一个 Point 类,该类共有 12 个函数
3.2 第一个程序的类中各个函数作用分别为:
void Menu( ); //显示选单
void Set1( );//设置竞赛项目总数
void Set2( );//设置某项目名次的取法及每一名次的分值
void Find( );//查询功能
void Set3( );//设置竞赛项目信息
void Put( );//打印竞赛项目信息
void Set4( );//为某个竞赛项目设定比赛结果信息
void List( );//按学校打印成绩
void GetReport();//生成报表
void Quit( );//退出功能
4.算法描述
该程序主要采用类的结构,及其应用,公有 10 函数,在函数中实现嵌套,连
接,指针的传递,数组等简单的程序结构。
5.运算结果
该程序运行结果及其程序逐步实现为以下图片显示
6.源程序
#include
#include
4
using namespace std;
class Sport//
{
public:
void Menu( ); //显示选单
void Set1( );//设置竞赛项目总数
void Set2( );//设置某项目名次的取法及每一名次的分值
void Find( );//查询功能
void Set3( );//设置竞赛项目信息
void Put( );//打印竞赛项目信息
void Set4( );//为某个竞赛项目设定比赛结果信息
void List( );//按学校打印成绩
void GetReport();//生成报表
void Quit( );//退出功能
private:
string name;//学校名称
string snumber;//学校编号
string mtname;//男子竞赛项目类型
string mtnumber;//男子竞赛项目编号
string ftname;//女子竞赛项目类型
string ftnumber;//女子竞赛项目编号
int number;//得分
};
string s; //定义字符型全局变量
int n;//定义整型全局变量
Sport t[100],tt[100];//定义结构体数组
int t1[100];
int n1,n2,n3;
void Sport:
:
Menu( ) //显示选单
{
5
cout<<"\n**********"<<"选单"<<"**********"< cout<<"\n" <<"设置竞赛项目总数<1>\t" <<"设置竞赛项目名次<2>\n" <<"设置竞赛项目信息<3>\t" <<"设定比赛结果信息<4>\n" <<"查询<5>\t" <<"按学校打印成绩<6>\n" <<"打印竞赛项目信息<7>\t" <<"生成报表<8>\n" <<"退出 cout< cout<<"******************************"< cout< cout<<"请您输入相应的字母: "; } void Sport: : Set1( )//设置竞赛项目总数 { cout<<"请输入男子竞赛项目总数(0<总项目数<8): "; cin>>n1; cout< cout<<"请输入女子竞赛项目总数(0<总项目数<8): "; cin>>n2; cout< cout<<"请输入参加运动会的学校总数(0<学校总数<8): "; cin>>n3; for(int i=0;i { t[i].snumber=i+1; 6 cout<<"\n 请输入编号为"< "; cin>>tt[i].name; } cout< cout<<"**********输入完毕! ***********"< Sport sport; sport.Menu();//调用 Menu 函数,显示选单 } void Sport: : Set2( )//设置某项目名次的取法及每一名次的分值 { char ch; int i,p; for(int i1=0;i1<10;i1++) { cout< string over;//定义字符串变量,用于退出 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; 7 t1[3]=2; t1[4]=1; break; } case '1': /*取前 3 名*/ { for(int i=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< string over;//定义字符串变量,用于退出 cin>>over; if(over=="over")break; cout<<"\n 请输入该项目第"< "< cin>>p; if (p<=0) { cout<<"\n 输入有误,分值应大于 0! "< } 8 } }break; default: /*错误的输入*/ { cout<<"\n 错误的选择! "; break; } } } /*Sport sport; sport.Menu( );//调用 Menu 函数,显示选单*/ } void Sport: : Find( )//查询功能 { cout<<"退出请输入 over,继续请输入 c,然后按相应的字母查询! "< for(int i=0;i<10;i++) { cout< string over;//定义字符串变量,用于退出 cin>>over; if(over=="over") break; cout<<"请输入你的选择(参赛学校信息 成绩 "; char s; cin>>s; switch(s) { case 'n': { 9 cout<<"请输入学校的名称: "; string fname; cin>>fname; for(int i=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<<"请输入比赛项目的名称: "; string fname; cin>>fname; for(int i=0;i { if(fname==t[i].mtname) 10 { cout<<"男子项目编号: "< cout<<"男子项目名称: "< cout< break; } } if(i==n1)cout<<"\n 本次查询完毕,没有查询到此人的相关信息! ! ! "< } if(i==2) { cout<<"请输入比赛项目的名称: "; string ffname; cin>>ffname; for(int i=0;i { if(ffname==t[i].ftname) { cout<<"女子项目编号: "< cout<<"女子项目名称: "< cout< break; } } if(i==n2)cout<<"\n 本次查询完毕,没有查询到此人的相关信息! ! ! "< } }break; case 't': 11 { cout<<"请输入学校的名称: "; string fname; cin>>fname; for(int i=0;i { if(fname==tt[i].name) { cout< break; } } if(i==n3)cout<<"\n 本次查询完毕,没有查询到此人的相关信息! ! ! "< }break; default: { cout<<"\n 输入字母错误,请重新输入! ! ! "< break; }break; } } Sport sport; sport.Menu( );//调用 Menu 函数,显示选单*/ } void Sport: : Set3( )//设置竞赛项目信息 { int i=0; for(i=0;i<10;i++) { 12 cout< string over;//定义字符串变量,用于退出 cout<<"退出请输入 over,继续请输入 c,然后按相应的字母查询! "< cin>>over; if(over=="over") break; cout<<"\n 请选择男子或女子项目编号(1: 男2: 女): ";/*项目类型: 男子或 女子项目*/ char ch; cin>>ch; cout< switch(ch) { case '1': { for(int i=0;i { t[i].mtnumber=i+1; cout<<"\n 请输入男子项目编号为"< ";/*项目名称*/ cin>>t[i].mtname; } }break; case '2': { for(int i=0;i { t[i].ftnumber=i+1; cout<<"\n 请输入女子项目编号为"< ";/*项目名称 */ cin>>t[i].ftname; 13 } }break; default: { cout<<"\n 输入字母错误,请重新输入! ! ! ";/*项目名称*/ }break; } } Sport sport; sport.Menu( );//调用 Menu 函数,显示选单*/ } void Sport: : Put( )//打印竞赛项目信息 { int i; cout<<"\n 共有"< for(i=0;i { cout<<"\n 学校编号: "< cout<<"学校名称: "< } cout<<"\n 您输入的比赛项目信息如下: "< for(i=0;i { cout<<"\n 男子项目编号: "< cout<<"男子项目名称: "< } for(i=0;i { 14 cout<<"\n 女子项目编号: "< cout<<"女子项目名称: "< } Sport sport; sport.Menu( );//调用 Menu 函数,显示选单*/ } void Sport: : Set4( )//为某个竞赛项目设定比赛结果信息 { int i=0,j=0; cout<<"\n 请选择男子或女子项目(1: 男 2: 女): "; int ch; cin>>ch; cout< switch(ch) { case 1: { for(i=0;i { cout<<"\n 填写男子项目"< "< Sport sport; sport.Set2(); cout<<"\n 输入获得第"< "< t[i].number=t1[i];//得分 cout<<"\n 姓名: "< cin>>t[i].name; cout<<"\n 学校编号: ";/*学校编号检查编号合法性*/ cin>>t[i].snumber; } }break; 15 case 2: { for(i=0;i { cout<<"\n 填写女子项目"< "< Sport sport; 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; } } Sport sport; sport.Menu( );//调用 Menu 函数,显示选单 } void Sport: : List( )//按学校打印成绩 { if (n1<=0)cout<<"\n 没有学校参加比赛! "< for(int i=0;i { 16 cout<<"\n 学校编号: "< cout<<"学校名称: "< cout<<"男子团体成绩: "< cout<<"女子团体成绩: "< } cout<<"**********输出完毕! ***********"< Sport sport; sport.Menu( );//调用 Menu 函数,显示选单 } void Sport: : GetReport()//生成报表 { int i,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<<"团体总分: "< } void Sport: : Quit( )//退出功能 { 17 cout<<"*********操作完毕,谢谢使用! ***********"< } int main( )//根据选单的选项调用各函数,并完成相应的功能 { cout<<"\n" <<"******************************\n" <<"* 欢迎您使用这个校际运动会管理系统! *\n" <<"* 这是一个简单的校际运动会管理程序! *\n" <<"* 可以对校际运动会信息进行简单管理! *\n" <<"******************************\n" <<"\n"; Sport sport; sport.Menu( );//调用 Menu 函数,显示选单 char s; do { cin>>s; cout< switch(s) { case '1': { sport.Set1( );//调用创建函数 break; } case '2': { sport.Set2();//调用保存函数 break; } 18 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; } 19 case 'q': case 'Q': { sport.Quit( );//调用退出函数 break; } default: { cout<<"\n 您输入的字母错误,请按提示重新输入! "< 提示 break; } } }while(s! ='q'&&s! ='Q'); return 0; } 4. 课程设计总结 通过做课程设计,对程序的编写以及对程序中出现的一些错误的修改,我 觉得自己对 C++有了进一步的认识,学到了许多以前在课本上没有学到的东西, 自己的编程水平也有一定程度的提高。 同时,真正体会到了编写程序要一点点 的来: 一个题中可能有多个函数,应该一个一个的去编写,等检查无误后再进 行其他函数的编写,这样不仅方便修改,也可以减少出错,这一点对编程非常 重要。 20\n";
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校际 运动会 管理 系统