运动会标准管理系统专业课程设计方案报告_第1页
运动会标准管理系统专业课程设计方案报告_第2页
运动会标准管理系统专业课程设计方案报告_第3页
运动会标准管理系统专业课程设计方案报告_第4页
运动会标准管理系统专业课程设计方案报告_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录一课程设计目标.....................................1二课程设计任务和内容..............................1三系统设计方案....................................23.1系统具体描述..................................23.1.1系统设计背景.............................23.1.2系统设计具体信息.........................23.2功效模块划分..................................23.2.1功效模块描述.............................23.2.2输入项...................................43.2.3输出项...................................4四系统实现和测试...................................44.1主菜单实现....................................54.1.1步骤图...................................54.1.2代码.....................................64.1.3主菜单测试...............................74.2查询模块实现..................................74.2.1步骤图...................................74.2.2代码.....................................84.2.3模块测试.................................114.3显示数据模块实现..............................124.3.1步骤图...................................124.3.2代码.....................................134.3.3模块测试.................................154.4文件输出模块..................................164.4.1代码.....................................164.4.2模块测试.................................174.5显示排名模块..................................174.5.1步骤图...................................174.5.2代码.....................................184.5.3模块测试.................................19五程序调试及错误....................................19六参考文件..........................................20七附录..............................................20

一、课程设计目标学习综合利用C高级语言课程和其它先修课程知识,提升分析和处理实际问题能力,深入巩固、加深和拓宽所学知识;深入加强结构化程序设计思想,加深对高级语言基础语言要素和控制结构了解。全方面系统学习面向对象程序设计基础概念、基础语法和编程方法;独立完成有一定工作量程序设计任务,同时强调好程序设计风格。掌握程序设计中常见算法和C语言编程技巧和上机调试程序方法。在参与一系列子项目标实践过程中,提升怎样综合利用所学知识处理实际问题能力,和取得相关项目管理和团体合作等众多方面具体经验。二、课程设计任务和内容根据以下要求,利用C++语言,编写一套可用较为完善校际运动会管理系统软件(两人分模块合作)要求:初始化输入:学校总数及名字,运动员总数及运动员基础信息,运动会项目(为方便测试暂定为男女分别为4项,以项目一,项目二,项目三,项目四代表)各项目名次取法有以下多个:取前五名:第一名7分,第二名5分,第三名3分,第四名2分,第五名1分;取前三名:第一名5分,第二名3分,第三名2分;用户自定义。功效要求:(1)由程序提醒用户填写比赛接结果,输入各项目参赛运动员运动员信息;(2)信息录入完成后由系统为运动员、各个学校进行排名;(3)全部信息统计完成后,用户能够查询各个学校比赛成成绩和排名,运动员比赛成绩和排名;(4)最终还能对比赛信息输出。注:我和网络工程10班黄科荣同学合作,共同完成此次有相关校际运动会管理系统程序设计。我负责完成查询模块、数据显示模块、文件输出模块实现和显示排名模块。系统设计方案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主菜单步骤开开始显示主菜单输入选择是否合理 提醒错误信息提醒错误信息Y Y N 是否为"1"是否为"1"是否为"3" N N N是否为"3"是否为"2" 是否为"2"是否为"4" Y 是否为"4" Y YY N调用输入函数调用显示函数调用查找函数调用排序函数 调用输入函数调用显示函数调用查找函数调用排序函数是否为"5"是否为"5"是否为"7"是否为"6" N是否为"7"是否为"6" N Y调用显示函数YY调用显示函数调用显示函数调用显示函数N调用显示函数调用显示函数结束 结束4.1主菜单步骤图4.1.2主菜单代码voidmenu() //菜单{ intw1,n; system("cls"); cout<<"\t\t--------------------------------------------"<<endl <<"\t\t*************welcometoload****************"<<endl <<"\t\t--------------------------------------------"<<endl <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"<<endl <<"\t\t※欢迎使用校运动会计分系统※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※1.学校信息录入※"<<endl <<"\t\t※2.学生信息录入※"<<endl <<"\t\t※3.成绩录入※"<<endl <<"\t\t※4.查询※"<<endl <<"\t\t※5.显示数据※"<<endl <<"\t\t※6.输出文件※"<<endl <<"\t\t※7.显示排名※"<<endl <<"\t\t※8.退出※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※制作人※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"<<endl; do { cout<<"请输入你想操作代号(1-8):"<<endl; cin>>n; if(n<1||n>8) { w1=1; cout<<"您输入有误,请重新输入!"<<endl; } 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是否为4Y是否为4输入数字a输入数字a是否为"2"是否为是否为"2"是否为"3"NN是否为"1"NNN是否为"1"YYYYY调用学校查询函数调用项目查询函数调用学生查询函数调用学校查询函数调用项目查询函数调用学生查询函数 结束结束图4.3查询模块步骤图4.2.2查询模块代码voidchaxun()//查询{voidxscx();voidxmcx();voidxxcx();inta;do{cout<<"选择查询方法:"<<endl<<"1按姓名查询:"<<endl<<"2按项目查询:"<<endl<<"3按学校查询:"<<endl<<"4退出"<<endl<<"请选择:";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<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) cout<<setw(4)<<"男"; else cout<<setw(4)<<"女"; cout<<"号码"<<xs[i].haoma<<endl; }}if(sb==0){ cout<<"没找到该名字学生"<<endl;}}voidxmcx(){inti,sb=0;intj;cout<<"请输入要查询项目名:";cin>>j;for(i=0;i<SN;i++){ if(xs[i].xiangmu[j-1]) { 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) cout<<setw(4)<<"男"; else cout<<setw(4)<<"女"; cout<<"号码"<<xs[i].haoma<<endl; }}if(sb==0){ cout<<"未找该项目标学生"<<endl;}}voidxxcx(){inti,sb=0;cout<<"学校信息为:"<<endl<<setw(15)<<"学校名称"<<"学校代号"<<endl;for(i=0;i<XN;i++)cout<<setw(15)<<xx[i].mingzi<<""<<xx[i].daihao<<endl;stringl;cout<<"请输入要查询学校代号:";cin>>l;for(i=0;i<SN;i++){ if(xs[i].xue==l) { sb++; cout<<"姓名"<<xs[i].xingming<<"学校"<<l<<"性别"; if(xs[i].xingbie) cout<<setw(6)<<"男"; else cout<<setw(6)<<"女"; cout<<"号码"<<xs[i].haoma; } }if(sb==0){ cout<<"没找到该学校学生"<<endl;}}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显示模块步骤图 开始N是否为"4"输出提醒信息N是否为"4"输出提醒信息YY输入l输入lN是否为"3"是否为"2" N是否为"3"是否为"2"NN是否为"1"NN是否为"1"YY YY调用显示得分规则函数调用显示运动员信息函数Y调用显示得分规则函数调用显示运动员信息函数调用显示学校信息函数 调用显示学校信息函数结束结束图4.7显示模块步骤图4.3.2显示模块代码voidxianshi() //显示全部信息{voidxsxxxx();voidxsxsxx();voidxsdfgz();intl;do{ cout<<" 显示全部学校信息 输入1"<<endl <<" 显示全部学生信息 输入2"<<endl <<" 显示得分规则 输入3"<<endl <<" 退出 输入4"<<endl <<"请选择:"; cin>>l; switch(l){ case1:xsxxxx();break; case2:xsxsxx();break; case3:xsdfgz();break; }}while(l>4&&l<1);system("pause");menu();}voidxsxxxx(){ cout<<"学校信息为:"<<endl<<setw(15)<<"学校名称"<<"学校代号"<<setw(8)<<"学校得分"<<setw(8)<<"学校排名"<<endl; for(inti=0;i<XN;i++) cout<<setw(15)<<xx[i].mingzi<<""<<xx[i].daihao<<setw(8)<<xx[i].chengji<<setw(8)<<xx[i].mingci<<endl;}voidxsxsxx(){ cout<<setw(6)<<"姓名"<<setw(15)<<"学校"<<setw(6)<<"性别" <<setw(12)<<"项目1成绩"<<setw(12)<<"项目2成绩" <<setw(12)<<"项目3成绩"<<setw(12)<<"项目4成绩"<<endl; for(intj=0;j<SN;j++) { cout<<setw(6)<<xs[j].xingming; for(intk=0;;k++) if(xs[j].xue==xx[k].daihao) { cout<<setw(15)<<xx[k].mingzi; break; } if(xs[j].xingbie) cout<<setw(6)<<"男"; else cout<<setw(6)<<"女"; for(intx=0;x<4;x++) cout<<setw(6)<<xs[j].xiangmu[x]<<setw(6)<<xs[j].chengji[x]; cout<<endl; } cout<<setw(18)<<"项目1得分排名"<<setw(18)<<"项目2得分排名" <<setw(18)<<"项目3得分排名"<<setw(18)<<"项目4得分排名"<<setw(7)<<"总分"<<endl; for(j=0;j<SN;j++) { for(intx=0;x<4;x++) cout<<setw(9)<<xs[j].defen[x]<<setw(9)<<xs[j].mingci[x]<<setw(7); cout<<xs[j].zongfen<<endl; }}voidxsdfgz(){ for(intz=0;;z++) { if(df[z]!=0) { cout<<"第"<<z+1<<"名得"<<df[z]<<"分"<<endl; continue; } else { cout<<"其后全部些人得分为0"<<endl; 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<XN;i++) { s1<<xx[i].mingzi<<""<<xx[i].daihao<<""<<xx[i].mingci<<""<<int(xx[i].chengji)<<'\n'; } s1<<'\n'<<'\n'<<"姓名学校代码性别号码项目1成绩名次项目2成绩名次项目3成绩名次项目4成绩名次总分"<<'\n'; for(i=0;i<SN;i++) { s1<<xs[i].xingming<<""<<xs[i].xue<<""<<xs[i].xingbie<<""<<xs[i].haoma<<"" <<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<<'\n'; } s1.close(); cout<<"输出成功!"<<endl; system("pause");menu();}4.4.2输出模块测试图4.11输出文件4.5显示排名开始4.5.1排名模块步骤图开始输出提醒信息输出提醒信息NN输入a输入aNN是否为"3"是否为"2"是否为"1"N是否为"3"是否为"2"是否为"1"NYYYYYY调用运动员排名函数调用学校排名函数调用运动员排名函数调用学校排名函数结束结束图4.12排名模块步骤图4.5.2显示排名模块代码voidpaimingxianshi()//显示排名{voidxxpm();voidydypm();cout<<"请选择:"<<endl<<"1学校排名"<<endl<<"2运动员总分排名"<<endl<<"3退出"<<endl<<"请选择:";inta;cin>>a;switch(a){case1:xxpm();break;case2:ydypm();break;case3:break;}system("pause");menu();}voidxxpm(){ stringdd[50]; for(inti=0;i<XN;i++) dd[xx[i].mingci-1]=xx[i].mingzi; for(i=0;i<XN;i++) cout<<"第"<<i+1<<"名为 "<<setw(6)<<dd[i]<<endl;}voidydypm(){ stringdd[200],te; intss[200],mp,p,q; for(inti=0;i<SN;i++) { dd[i]=xs[i].xingming; ss[i]=xs[i].zongfen; } for(p=0;p<SN;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; } } } for(i=0;i<SN;i++) cout<<"第"<<i+1<<"名为 "<<setw(6)<<dd[i]<<endl; }4.5.3显示排名模块测试显示排名测试分为学校排名图4.13,运动员排名图4.13图4.13学校排名界面图4.14运动员排名界面五、调试错误及处理方法在调试过程中碰到了多种多样错误,但总结起来也就是马虎造成,现列举一二。如在调用函数时出现函数未申明错误,只要在函数开头进行申明就行了;还有如“D:\测试.cpp(579):errorC:unknowncharacter'0xa3'”,这类型错误关键是在输入字符时使用是汉字输入,只要改成英文输入就行了;注意“{}”使用要完整等等。不过在我编写程序时碰到最大困难还是在输入文件模块,因为对这个知识点掌握不好,以后经过查阅资料最终搞清楚了。六、参考文件[1]谭浩强.C++程序设计.清华大学出版社.[2]郑莉.C++程序设计(第三版).清华大学出版社.[3]钱能.C++程序设计教程.清华大学出版社.[4]武俊亮.visualc++课程设计和系统开发案例.清华出版社[5]黄维通.VisualC++程序设计教程.清华大学出版社.七、附录源代码#include<iostream>#include<fstream>#include<iomanip>#include<string>usingnamespacestd;intdf[100]={0};structxuexiao{ stringmingzi; //学校名字 stringdaihao; //学校代号 intmingci; //学校名次 floatchengji; //学校成绩}xx[20];structxuesheng{ stringxue; //学校 stringxingming; //姓名 inthaoma; //运动员号码 boolxiangmu[4]; //项目 boolxingbie; //性别 floatchengji[4]; //成绩 intmingci[4]; //名次 intdefen[4]; //单项得分 intzongfen; //总分}xs[100];intXN; //学校个数intSN; //学生总数voidxuexiaoluru();voidxueshengluru();voidchengjiluru();voidchaxun();voidxianshi();voidwenjian();voidpaimingxianshi();voidpaiming(inta,boolb);voidmenu() //菜单{ intw1,n; system("cls"); cout<<"\t\t--------------------------------------------"<<endl <<"\t\t*************welcometoload****************"<<endl <<"\t\t--------------------------------------------"<<endl <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"<<endl <<"\t\t※欢迎使用校运动会计分系统※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※1.学校信息录入※"<<endl <<"\t\t※2.学生信息录入※"<<endl <<"\t\t※3.成绩录入※"<<endl <<"\t\t※4.查询※"<<endl <<"\t\t※5.显示数据※"<<endl <<"\t\t※6.输出文件※"<<endl <<"\t\t※7.显示排名※"<<endl <<"\t\t※8.退出※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※制作人※"<<endl <<"\t\t※※"<<endl <<"\t\t※※"<<endl <<"\t\t※※※※※※※※※※※※※※※※※※※※※※"<<endl; do { cout<<"请输入你想操作代号(1-8):"<<endl; cin>>n; if(n<1||n>8) { w1=1; cout<<"您输入有误,请重新输入!"<<endl; } elsew1=0; }while(w1==1); switch(n) { case1:xuexiaoluru(); case2:xueshengluru(); case3:chengjiluru(); case4:chaxun(); case5:xianshi(); case6:wenjian(); case7:paimingxianshi(); }}voidxuexiaoluru() //学校信息录入{ cout<<"请输入学校个数:"; cin>>XN; for(inti=0;i<XN;i++) { cout<<"请输入第"<<i+1<<"个学校名字:"; cin>>xx[i].mingzi; cout<<"请输入第"<<i+1<<"个学校代码:"; cin>>xx[i].daihao; xx[i].chengji=xx[i].mingci=0; } cout<<"学校信息为:"<<endl<<setw(15)<<"学校名称"<<"学校代号"<<endl; for(i=0;i<XN;i++) cout<<setw(15)<<xx[i].mingzi<<""<<xx[i].daihao<<endl; system("pause"); menu();}voidxueshengluru() //学生信息录入{ cout<<"请输入学生数量:"; cin>>SN; intk; for(inti=0;i<SN;i++) { cout<<"请输入第"<<i+1<<"个学生信息:"<<endl<<setw(15)<<"学校名称"<<"学校代号"<<endl; for(intj=0;j<XN;j++) cout<<setw(15)<<xx[j].mingzi<<""<<xx[j].daihao<<endl; cout<<"请输入学生所在学校代码:"; cin>>xs[i].xue; cout<<"请输入学生姓名:"; cin>>xs[i].xingming; cout<<"请输入学生性别(男输入1/女输入0):"; cin>>xs[i].xingbie; for(k=0;k<4;k++) { xs[i].chengji[k]=xs[i].defen[k]=xs[i].mingci[k]=0; xs[i].xiangmu[k]=0; } xs[i].haoma=i+1; } menu();}voidxianshi() //显示全部信息{voidxsxxxx();voidxsxsxx();voidxsdfgz();intl;do{ cout<<" 显示全部学校信息 输入1"<<endl <<" 显示全部学生信息 输入2"<<endl <<" 显示得分规则 输入3"<<endl <<" 退出 输入4"<<endl <<"请选择:"; cin>>l; switch(l) { case1:xsxxxx();break; case2:xsxsxx();break; case3:xsdfgz();break; }}while(l>4&&l<1);system("pause");menu();}voidxsxxxx(){ cout<<"学校信息为:"<<endl<<setw(15)<<"学校名称"<<"学校代号"<<setw(8)<<"学校得分"<<setw(8)<<"学校排名"<<endl; for(inti=0;i<XN;i++) cout<<setw(15)<<xx[i].mingzi<<""<<xx[i].daihao<<setw(8)<<xx[i].chengji<<setw(8)<<xx[i].mingci<<endl;}voidxsxsxx(){ cout<<setw(6)<<"姓名"<<setw(15)<<"学校"<<setw(6)<<"性别" <<setw(12)<<"项目1成绩"<<setw(12)<<"项目2成绩" <<setw(12)<<"项目3成绩"<<setw(12)<<"项目4成绩"<<endl; for(intj=0;j<SN;j++) { cout<<setw(6)<<xs[j].xingming; for(intk=0;;k++) if(xs[j].xue==xx[k].daihao) { cout<<setw(15)<<xx[k].mingzi; break; } if(xs[j].xingbie) cout<<setw(6)<<"男"; else cout<<setw(6)<<"女"; for(intx=0;x<4;x++) cout<<setw(6)<<xs[j].xiangmu[x]<<setw(6)<<xs[j].chengji[x]; cout<<endl; } cout<<setw(18)<<"项目1得分排名"<<setw(18)<<"项目2得分排名" <<setw(18)<<"项目3得分排名"<<setw(18)<<"项目4得分排名"<<setw(7)<<"总分"<<endl; for(j=0;j<SN;j++) { for(intx=0;x<4;x++) cout<<setw(9)<<xs[j].defen[x]<<setw(9)<<xs[j].mingci[x]<<setw(7); cout<<xs[j].zongfen<<endl; }}voidxsdfgz(){ for(intz=0;;z++) { if(df[z]!=0) { cout<<"第"<<z+1<<"名得"<<df[z]<<"分"<<endl; continue; } else { cout<<"其后全部些人得分为0"<<endl; break; } }}voidjisuangeren()//计算个人总分{ for(inti=0;i<SN;i++) xs[i].zongfen=xs[i].defen[0]+xs[i].defen[1]+xs[i].defen[2]+xs[i].defen[3];}voidjisuanxuexiao()//计算学校总分并排名{ for(inti=0;i<SN;i++) { for(intk=0;;k++) if(xs[i].xue==xx[k].daihao) { xx[k].chengji+=xs[i].zongfen; break; } } xuexiao*dd[50],*temp; intk=0,p,q; for(i=0;i<XN;i++) dd[k++]=&xx[i]; for(p=0;p<k;p++) { for(q=p+1;q<k-1;q++) { if(dd[p]->chengji<dd[q]->chengji) { temp=dd[p]; dd[p]=dd[q]; dd[q]=temp; } } } for(i=0;i<k;i++) { dd[i]->mingci=i+1; }}voidchengjiluru() //成绩录入{ boola; intb,i,k[100],t=0,s=0; cout<<"男女各有四个项目:"<<endl <<"男子项目1项目2项目3项目4"<<endl <<"女子项目1项目2项目3项目4"<<endl; cout<<"请选择性别(男输入1/女输入0):"; cin>>a; if(a) { cout<<"输入录入成绩项目"; cin>>b; cout<<"该项目未录入有:"; for(i=0;i<SN;i++) if(xs[i].xingbie) if(xs[i].xiangmu[b-1]) ; else cout<<xs[i].haoma<<"号"; cout<<endl<<"请输入要录入号码:"<<"格式23330最终一个以0结束"<<endl; t=0; do { cin>>k[t]; t++; }while(k[t-1]!=0); for(s=0;s<t-1;s++) { xs[k[s]-1].xiangmu[b-1]=1; cout<<"请输入"<<k[s]<<"号成绩:"; cin>>xs[k[s]-1].chengji[b-1]; } } else { cout<<"输入录入成绩项目"; cin>>b; cout<<"该项目未录入有:"; for(i=0;i<SN;i++) if(!xs[i].xingbie) if(xs[i].xiangmu[b-1]) ; else cout<<xs[i].haoma<<"号"; cout<<endl<<"请输入要录入号码:"<<"格式23330最终一个以0结束"<<endl; t=0; do { cin>>k[t]; t++; }while(k[t-1]!=0); for(s=0;s<t-1;s++) { xs[k[s]-1].xiangmu[b-1]=1; cout<<"请输入"<<k[s]<<"号成绩:"; cin>>xs[k[s]-1].chengji[b-1]; } } paiming(b,a); jisuangeren(); jisuanxuexiao(); menu();}voiddefenguize()//得分规则{ cout<<"请输入前十名得分规则"<<endl; for(inti=0;i<10;i++) { cout<<"请输入第"<<i+1<<"得分:"; cin>>df[i]; } cout<<"建立得分规则为"<<endl; for(i=0;i<10;i++) cout<<"第"<<i+1<<"名得"<<df[i]<<"分"<<endl;}voidxuexiaopaiming(){ intk[30],s=0,x[30],p,q,t; for(inti=0;i<XN;i++) { x[s]=i; k[s++]=xx[i].chengji; } for(p=0;p<s-1;p++) for(q=p+1;q<s-2;q++) { if(k[p]<k[q]) { t=k[q]; k[q]=k[p]; k[p]=t; t=x[q]; x[q]=x[p]; x[p]=t; } } for(i=0;i<s-1;i++) { xx[x[i]].mingci=i; }}voidpaiming(inta,boolb)//排名后算分{ xuesheng*dd[50],*temp; intk=0; ints; for(inti=0;i<SN;i++) { if(xs[i].xingbie==b) { if(xs[i].xiangmu[a-1]) { dd[k++]=&xs[i]; } } } intp,q; for(p=0;p<k;p++) { for(q=p+1;q<k-1;q++) { if(dd[p]->chengji[a-1]<dd[q]->chengji[a-1]) { temp=dd[p]; dd[p]=dd[q]; dd[q]=temp; } } } for(i=0;i<k;i++) { dd[i]->mingci[a-1]=i+1; dd[i]->defen[a-1]=df[i]; }}voidchaxun()//查询{voidxscx();voidxmcx();voidxxcx();inta;do{cout<<"选择查询方法:"<<endl<<"1按姓名查询:"<<endl<<"2按项目查询:"<<endl<<"3按学校查询:"<<endl<<"4退出"<<endl<<"请选择:";cin>>a;switch(a){case1:xscx();break;case2:xmcx();break;case3:xxcx();break;case4:break;}}while(a<1&&a>4);cout<<endl;system("pause");menu();}voidxscx(){inti,sb=0;stringx;cout<<"请输入要查询名字:";cin>>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) cout<<setw(4)<<"男"; else cout<<setw(4)<<"女"; cout<<"号码"<<xs[i].haoma; }}if(sb==0){ cout<<"没找到该名字学生"<<endl;}}voidxmcx(){inti,sb=0;intj;cout<<"请输入要查询项目名:";cin>>j;for(i=0;i<SN;i++){ if(xs[i].xiangmu[j-1]) { 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) cout<<setw(4)<<"男"; else cout<<setw(4)<<"女"; cout<<"号码"<<xs[i].haoma<<endl; }}if(sb==0){ cout<<"未找该项目标学生"<<endl;}}voidxxcx(){inti,sb=0;cout<<"学校信息为:"<<endl<<setw(15)<<"学校名称"<<"学校代号"<<endl;for(i=0;i<XN;i++)c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论