怎么做田径运动会记分表
表格为比赛项目记录表,班级评比也可参照表做成总成绩对比
运动会分数统计
功能还算齐全,觉得可以加分啊!
#include<iostream> #include<string> #include<iomanip> #include<fstream>using namespace std; int n; //n个学校 int m; //m个男子项目 int w; //w个女子项目 struct pro //表示项目的结构体 { string name; //项目名称 int snum[6]; //前5名学校的编号 }p[21]; struct school //表示学校的结构体 { int num; string name; //学校名称 int score; //学校总分 int male; //男子总分 int female; //女子总分 }sch[21]; int integral[5]={7,5,3,2,1};//前五名得分 void input() { int i,j,y,x; printf("输入学校数目:"); y=0; while(1) { scanf("%d",&n); if(n>=1&&n<=20)y=1; if(y)break; else printf("输入数据有误,请重新输入:"); } for(i=1;i<=n;i++) { printf("输入第%d个学校的名称:",i); cin>>sch[i].name; sch[i].score=0; sch[i].female=0; sch[i].male=0; sch[i].num=i; } printf("输入男子项目数和女子项目数:"); y=0; while(1) { scanf("%d%d",&m,&w); if(m<=20&&m>=1&&w<=20&&w>=1)y=1; if(y)break; else printf("输入数据有误,请重新输入:"); } for(i=1;i<=m+w;i++) { printf("输入第%d个项目的名称:\n",i); cin>>p[i].name; printf("输入第%d个项目的前5名的学校编号:\n",i); for(j=1;j<=5;j++) { y=0; while(1) { scanf("%d",&x); if(x>=1&&x<=20)y=1; if(y)break; else printf("输入数据有误,请重新输入:"); } p[i].snum[j]=x; sch[x].score+=integral[j-1]; if(i<=m)sch[x].male+=integral[j-1]; else sch[x].female+=integral[j-1]; } } } void print(int i) { cout<<sch[i].num<<setw(10)<<sch[i].name<<setw(8)<<sch[i].score<<setw(9) <<sch[i].male<<setw(10)<<sch[i].female<<endl; } void bianhao() //按编号排序 { int i,j; school t; for(i=1;i<n;i++) { for(j=i;j<=n;j++) if(sch[i].num>sch[j].num) {t=sch[i];sch[i]=sch[j];sch[j]=t;} } printf("\n按编号排列:\n"); printf("编号 学校名称 总分 男子总分 女子总分\n"); for(i=1;i<=n;i++) print(i); } void zongfen() //按学校总分排序 { int i,j; school t; for(i=1;i<n;i++) { for(j=i;j<=n;j++) if(sch[i].score<sch[j].score) {t=sch[i];sch[i]=sch[j];sch[j]=t;} } printf("\n按学校总分排列:\n"); printf("编号 学校名称 总分 男子总分 女子总分\n"); for(i=1;i<=n;i++) print(i); ofstream fout;fout.open("运动会分数统计.txt"); fout<<"编号 学校名称 总分 男子总分 女子总分"<<endl;for(i=1;i<=n;i++) {fout<<sch[i].num<<setw(13)<<sch[i].name<<setw(8)<<sch[i].score<<setw(9) <<sch[i].male<<setw(10)<<sch[i].female<<endl; }fout.close();} void malezf() //按学校男总分排序 { int i,j; school t; for(i=1;i<n;i++) { for(j=i;j<=n;j++) if(sch[i].male<sch[j].male) {t=sch[i];sch[i]=sch[j];sch[j]=t;} } printf("\n按学校男子总分排列:\n"); printf("编号 学校名称 总分 男子总分 女子总分\n"); for(i=1;i<=n;i++) print(i); } void femalezf() //按学校女总分排序 { int i,j; school t; for(i=1;i<n;i++) { for(j=i;j<=n;j++) if(sch[i].female<sch[j].female) {t=sch[i];sch[i]=sch[j];sch[j]=t;} } printf("\n按学校女子总分排列:\n"); printf("编号 学校名称 总分 男子总分 女子总分\n"); for(i=1;i<=n;i++) print(i); cout<<endl; } void cxsch() //查询学校信息 { int i,y,s; printf("输入需要查询的学校编号:"); y=0; while(1) { scanf("%d",&s); if(s>=1&&s<=n)y=1; if(y)break; else printf("输入数据有误,请重新输入:"); } printf("该学校相关信息:\n"); printf("编号 学校名称 总分 男子总分 女子总分\n"); for(i=1;i<=n;i++) { if(sch[i].num==s) { print(i); break; } } cout<<endl; } void cxxm() //查询项目信息 { int i,y,s; printf("输入需要查询的项目编号:"); y=0; while(1) { scanf("%d",&s); if(s>=1&&s<=n)y=1; if(y)break; else printf("输入数据有误,请重新输入:"); } cout<<p[s].name<<"前5名学校编号及名称为:"<<endl; printf("名次 编号 学校名称\n"); for(i=1;i<=5;i++) cout<<" "<<i<<" "<<p[s].snum[i]<<setw(12)<<sch[ p[s].snum[i] ].name<<endl; cout<<endl; } void solve() //菜单函数{ int z; while(1) { printf("\n选择您需要的操作(选择序号):\n"); printf("1.按学校编号排序输出\n"); printf("2.按学校总分排序输出\n"); printf("3.按学校男总分排序输出\n"); printf("4.按学校女总分排序输出\n"); printf("5.查询某个学校成绩\n"); printf("6.查询某个项目成绩\n"); printf("7.结束\n\n"); scanf("%d",&z); if(z==1)bianhao(); if(z==2)zongfen(); if(z==3)malezf(); if(z==4)femalezf(); if(z==5)cxsch(); if(z==6)cxxm(); if(z==7)break; } } int main() //主函数{ input(); solve(); return 0; }C语言 运动会计分系统 急求!!
#include"stdio.h"#pragmawarning(disable:4996)structSchool{ charname; inttotalScore; structItem*next;};structSchool*sch[5];structItem{ charid; intscore; structItem*next;};intatoi(charc){ returnc-'0';}intDataValidation(char*str){ inttmpItem[10],tmpScore[100],a,b,c,i; for(i=0;i<10;i++) { tmpItem[i]=tmpScore[i]=0; } for(i=0;i<27;i+=3) { a=atoi(str[i]); b=atoi(str[i+1]); c=atoi(str[i+2]); if((a<1||a>3)||(b<1||b>5)||(c!=5&&c!=3&&c!=1&&c!=0)) { return0; } else { tmpItem[a]++; tmpScore[a]+=c; } } for(i=1;i<=3;i++) { if(tmpItem[i]!=3) { return0; } } for(i=1;i<=3;i++) { if(tmpScore[i]!=9) return0; } return1;}voidinsert(charitemId,charschoolId,intscore){ inti; for(i=0;i<5;i++) { if(sch[i]->name==schoolId) { structItem*item=(structItem*)malloc(sizeof(structItem)); item->id=itemId; item->score=score; item->next=sch[i]->next; sch[i]->next=item; } }}voidupdateTotalScore(){ inti=0; structItem*tmp; for(i=0;i<5;i++) { tmp=sch[i]->next; while(tmp!=NULL) { sch[i]->totalScore+=tmp->score; tmp=tmp->next; } }}voidsort(){ inti,j; structSchool*tmp; for(i=0;i<5;i++) { for(j=0;j<i;j++) { if(sch[i]->totalScore>sch[j]->totalScore) { tmp=sch[i]; sch[i]=sch[j]; sch[j]=tmp; } } }}voidprint(){ inti; structItem*tmp; for(i=0;i<5;i++) { printf("college%d:%2d",sch[i]->name,sch[i]->totalScore); tmp=sch[i]->next; while(tmp!=NULL) { printf("item%c(%d)",tmp->id,tmp->score); tmp=tmp->next; } printf("\n"); }}intmain(){ inti; charstr[50],tmp1,tmp2; for(i=0;i<5;i++) { sch[i]=(structSchool*)malloc(sizeof(structSchool)); sch[i]->name=i+1+'0'; sch[i]->next=NULL; sch[i]->totalScore=0; } for(i=0;i<27;i++) { scanf("%c",&str[i]); } str[27]='\0'; while(DataValidation(str)==0) { printf("输入的数据不合法,请全部重新输入\n"); for(i=0;i<27;i++) { scanf("%c",&str[i]); } } for(i=1;i<=25;i=i+3) { intconvert=atoi(str[i+1]); insert(str[i-1],str[i],convert); } updateTotalScore(); sort(); print(); while(1); return0;}
针对以下Excel工作表中某运动会成绩统计表写出计算E3、F3单元格公式或函数
总积分=Sum(B3:D3)然后下拉,得到所有总分,然后再F3输入下面公式得到排名,得分最高的排每第一,相同分数并列第一
积分排名=SUMPRODUCT(($E$2:$E$10>E2)/COUNTIF($E$2:$E$10,$E$2:$E$10))+1田径运动会是怎么分类的?
说以时间计算成绩的项目叫径赛,以高度或远度计算成绩的项目叫田赛。
田径运动包括竞走、跑、跳跃、投掷以及由跑、跳、跃、投掷的部分项目组成的全能运动,共计四十多项。以时间计算成绩的项目叫径赛;以高度或远度计算成绩的项目叫田赛;全能运动项目,则是以各单项成绩按《田径运动评分表》换算分数计算成绩的。 正式国际田径比赛的项目如下: 世界田径比赛的项目有: 一、竞走:场地赛5公里、10公里; 公路赛20公里、50公里; 二、跑: 男子组 女子组 短距离跑 100米、200米、400米 100米、200米、400米 中距离跑 800米、1500米、3000米 800米、1500米 长距离跑 5000米、10000米 5000米、10000米 跨栏跑 110米栏、400米栏 100米栏、 400米、 障碍跑 3000米 马拉松 42.195公里 42.195公里 接力跑 4X100米、4X400米 4X100米、4X400米 三、跳跃:男、女同为跳高、撑竿跳高、跳远、三级跳远 四、投掷: 男子 女子 铅球: 7.26Kg 4Kg 标枪: 800g 600g 铁饼: 2Kg 1.5Kg 链球: 7.26Kg 4Kg 五、全能: 男子十项全能:第一天:100米,跳远、铅球、跳高、400米 第二天:110米栏、铁饼、撑杆跳高、标枪、1500米 女子七项全能:第一天:100米栏、铅球、跳高、200米 第二天:跳远、标枪、800米运动会怎样用文章通知参赛者 格式是什么
春季运动会通知,一年之计在于春,一年一度的春季运动会要开展了,锻炼小朋友们的毅力,团结精神。以下这篇是关于小学春季运动会的学校通知范本。感兴趣的朋友一起来看看这篇由资料站为您提供的文章。
小学春季运动会通知一: 各位同事大家好! 阳春三月、春意盎然,我们又迎来了一年一度的田径运动会。在感慨岁月如梭的同时,我们每一位教师又将为能举行一届深受孩子们喜欢的运动会而努力。 运动会将初步安排在5月9日至10日进行(周四、周五)。 现附上运动会规程,请各班主任仔细阅览、认真填表、及时上交。 规 程 一、比赛时间:2013年5月9日 二、比赛地点:明星小学田径场 三、比赛办法:以班级为单位,进行年级比赛 各项目比赛均采用国家体育总局审定的最新竞赛规则 四、比赛内容: 以年级组为单位进行比赛 一、二年级比赛项目 50米 、立定跳远 、一分钟跳绳 、 沙包掷远、国际象棋 三、四年级比赛项目 100米 、 200米 、 400米 、 立定跳远 、 垒球、 国际象棋 4、五、六年级比赛项目 100米 200米 400米 、800米 、实心球 、跳高、跳远 、国际象棋 5、团体项目:一、二年级50米、三、四、五、六年级100米迎面接力。 6、没有运动会规定项目的同学参加娱乐项目:积少成多比赛、赶猪比赛。 二、各班务于四月二十八日前把报名单发送到tgmxxxtyz126邮箱。 五、报名办法: 1、 每项每班男、女各可报2人,每人限报2项(集体项目除外)。 2、 4月28日前必须将报名表交至体育组。 六、积分和奖励方法: 1、个人各项目录取前六名或前八名给予奖励。 2、集体项目录取前三名或前四名给予奖励。 1、计分方法:本次活动采用田径比赛积分方法。个人项目:个人取前六名,第一名得7分,第二名得5分,此后每名次减1分计算。或个人取前八名,第一名9分,第二名得7分,此后每名次减1分计算。 2、团体成绩得分相等,按单项第一名多者名次列前,再相等,按单项第二名多者名次列前,依此类推。 大会须知 一、各代表队必须遵守大会纪律,服从大会指挥,树立良好的体育道德风尚,做到尊重裁判,尊重观众,尊重对方。 二、对竞赛中出现的问题,应通过本队领队向大会反映,提出抗议,必须在事情发生上当即向仲裁委员会以书面形式提出。 三、比赛中,不得弄虚作假,冒名顶替,一旦发现,经核实,取消比赛资格,所获成绩作废,并严肃处理。 四、运动员必须佩带运动员号码布,不佩带者不予参加比赛。 五、严格遵守比赛时间,各代表队应严格管理好本队运动员,赛会期间应遵守本赛会制度。运动会成绩统计系统
数据结构课程设计
一.需求分析1问题描述 运动会分数统计 参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1~m,女子m+1~m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由学生自己设定。(m<=20,n<=20)2. 基本要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分; 3) 可以按学校编号、学校总分、男女团体总分排序输出; 4) 可以按学校编号查询学校某个项目的情况;5) 可以按项目编号查询取得前三或前五名的学校。3.测试数据1)首先进入成绩录入界面,先输入学校编号1,再输入学校1各个项目成绩0或1(‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次);然后再输入第二个学校编号2,再输入成绩;当输入其他的学校编号和成绩会提示错误输入,重新输入。 2)然后进入总目录,输入 :1 统计各学校总分并输出; 3)输入:2 按学校编号排序输出; 4)输入:3 按学校总分排序输出; 5)输入:4 按男团体总分排序输出; 6)输入: 5 按女团体总分排序输出; 7) 输入:6 按学校编号查询学校某个项目情况; 8)输入:7 按项目编号查询取得名次的学校; 9)输入:0 退出系统; 10)输入其他数据会提示错误输入,重新输入。二、概要设计 1 结构体运动项目 { 项目编号 ;名次;};学校{ 学校编号;项目;团体总分;男团体总分;女团体总分;};2 主程序(main) 包括登陆欢迎程序,分数录入程序,查询程序,退出程序3 程序模块机之间的调用关系 流程图三、详细设计 1、宏定义:#define N 2#define bm 4#define gm 3 2、数据类型定义 (1)运动项目的定义: struct match{ int matchnum; int rank[3];}mat[bm+gm];(2)学校的定义: struct school{ int schoolnum; struct match mat[bm+gm]; int total; int boytotal; int girltotal;}sch[N];3、函数之间的调用关系4、算法设计 主要算法的设计思想:本程序主要是使用顺序表来实现操作。一个运动会包括运动项目和参加运动会的学校。因此构造顺序表match,school。为了操作的方便,设计了一个总目录,选择相应序号进入各个操作,并有错误提示,每完成一个操作程序会提示选择返回目录或退出程序,对于总分的排序使用了冒泡排序。为了使整个程序界面看起来更加惬意,又添加了背景和字体颜色设置的程序语句。每个操作前都有操作指南,易于使用。四、调试分析 1、由于刚开始程序比较简单,虽能运行,但处理错误的能力很低,后来经过反复的添加修改,使程序能处理了错误,提高了健壮性。 2、开始编时由于不太规范,编译出错后由于程序长,很难找到错误,后来规范了格式,错误容易找到了,以后编程要规范。 3、算法的时空分析 线性表使用的是顺序结构,各种算法的时间复杂度相对比较合理 4、本程序相对来说比较容易看明白,其中涉及到的一些函数相对来说比较容易。通过调试,运行,基本上达到了要求,但还存在一些缺点。如:不够人性化等。五、测试结果 <1>数据输入(输入成绩如图)输入:请输入学校编号:1项目编号 1 2 3 4 5 6 7第<1>名: 1 0 0 1 1 0 0第<2>名: 1 1 1 0 0 1 0第<3>名: 0 0 0 0 1 1 1请输入学校编号: 2项目编号 1 2 3 4 5 6 7第<1>名: 0 1 1 0 0 1 1第<2>名: 0 0 0 1 1 0 1第<3>名: 1 1 1 1 0 0 0输入成绩后出现总目录(下图); (1)输入:1 输出: (2)输入:1 返回总目录,再输入:2输出: (3)输入:1 返回总目录,再输入:3输出: (4)输入:1 返回总目录,再输入:4输出: (5)输入:1 返回总目录,再输入:5输出: (6)输入:1 返回总目录,再输入:6,学校编号输入:1,项目编号输入:5输出: (7)输入:2,返回上一级,再输入学校编号:2,项目编号:1输出: (8)输入:1,返回总目录;再输入:7,输入项目编号:7输出: (9)如果输入提示外的数字,例如输入:4则输出错误提示: (10)输入:0 输出: 六、用户手册 1、运行环境 Windows,VC++6.0 2、用户界面 3、操作过程 (1)用户进入运动会分数统计系统程序欢迎界面 (2)录入成绩,先输入要输入的学校编号,1或2;再输入对应学校的1-7项目的成绩(成绩用0或1:‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次)当成绩录入错误时会有错误提示。 (3)进入总目录,按提示,输入0--7中的一个数; 输入:0 则推出系统; 输入:1 统计各学校总分并输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录); 输入:2 按学校编号排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录); 输入:3 按学校总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录); 输入:4 按男团体总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录); 输入:5 按女团体总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录); 输入:6 按学校编号查询学校某个项目编号;选择学校编号1或2;然后选择项目编号1--7;输出项目成绩;然后选择0或1或2(‘0’表示退出系统,‘1’表示返回总目录,‘2’表示返回上一级); 输入:7 按项目编号查询取得名次的学校;选择项目编号1--7;输出成绩;然后选择0或1或2(‘0’表示退出系统,‘1’表示返回总目录,‘2’表示返回上一级);七、参考文献(1)《C程序设计》(第三版) 谭浩强 著 清华大学出版社(2)《数据结构》(C语言版)作者:严蔚敏,吴伟民 出版社:清华大学出版社(3)《数据结构题集》(C语言版)作者:严蔚敏,吴伟民 出版社:清华大学出版社八、附录1、源程序#include<stdio.h>#include<process.h>#define N 2 //学校个数#define bm 4 //男团体个数#define gm 3 //女团体个数void xuanze();void xunhuan();struct match //项目{ int matchnum; int rank[3];}mat[bm+gm];struct school //学校{ int schoolnum; struct match mat[bm+gm]; int total; int boytotal; int girltotal;}sch[N];void huanyingni() /*开始界面,欢迎使用*/{ printf("\n\n 东华大学信息科学与技术学院电气0910班 周涛涛\n\n\n");printf("\t***^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^***\n\n");printf(" 欢迎使用运动会分数统计系统\n\n");printf("\t***^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^***\n\n ");}void input() //输入成绩{ int i,j,k; for(i=0;i<N;i++) //初始化分数 { sch[i].total=0; sch[i].boytotal=0; sch[i].girltotal=0; for(k=0;k<bm+gm;k++) { sch[i].mat[k].rank[0]=0; sch[i].mat[k].rank[1]=0; sch[i].mat[k].rank[2]=0; sch[i].mat[k].matchnum=k+1; } } printf(" *********输入成绩**********\n"); printf("###输入说明:\n"); printf(" 1.学校编号为1--%d; 项目编号为1--%d (1-%d为男子项目,%d-%d为女子项目).\n",N,bm+gm,bm,bm+1,bm+gm); printf(" 2. 成绩只能是‘0’或‘1’\n(‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次.以'Tab'键前进。)\n",N);for(i=0;i<N;i++){ printf("******请输入学校编号: ");loop3:scanf("%d",&sch[i].schoolnum); if(sch[i].schoolnum<0||sch[i].schoolnum>N) { printf("输入错误(只能是1-%d)请重新输入:",N); goto loop3; } printf("项目编号 "); for(k=0;k<bm+gm;k++) printf("%d ",sch[i].mat[k].matchnum); printf("\n"); for(j=0;j<3;j++) { loop: printf("第(%d)名:",j+1); for(k=0;k<bm+gm;k++) scanf(" %d",&sch[i].mat[k].rank[j]); for(k=0;k<bm+gm;k++) if(sch[i].mat[k].rank[j]!=0&&sch[i].mat[k].rank[j]!=1) { printf("输入错误,请重新输入,成绩只能是‘0’或‘1’\n"); goto loop; } } } }void totaljisuan(){ int i,k,b; for(i=0;i<N;i++) for(k=0,b=0;k<bm+gm;k++) { b=sch[i].mat[k].rank[0]*5+sch[i].mat[k].rank[1]*3+sch[i].mat[k].rank[2]*2; sch[i].total=sch[i].total+b; if(k<bm) sch[i].boytotal=sch[i].boytotal+b; if(k>=bm) sch[i].girltotal=sch[i].girltotal+b; }}void mulu(){printf("\n\n **系统目录**\n"); //目录printf("\t\t ************************************\n");printf("\t\t* 1.统计各学校总分 *\t \n");printf("\t\t* 2.按学校编号排序输出 *\t \n");printf("\t\t* 3.按学校总分排序输出 *\t \n");printf("\t\t* 4.按男团体总分排序输出 *\t \n");printf("\t\t* 5.按女团体总分排序输出 *\t \n");printf("\t\t* 6.按学校编号查询学校某个项目情况 *\t \n");printf("\t\t* 7.按项目编号查询取得名次的学校 *\t \n");printf("\t\t* 0.退出 *\t \n");printf("\t\t ************************************\n");}void funct0() //退出系统{printf("\n\t\t******* 谢谢使用! *******\n");printf("\n\t\t******* 谢谢使用! *******\n");exit(0);}void funct1() //统计各学校总分{ int i,q; printf(" **********统计各学校总分**********\n"); printf(" **学校编号**\t\t\t\t**总分**\n"); for(i=0;i<N;i++) printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].total); printf("\n");printf("\n"); printf("########## 0:退出;1:返回目录。\n"); printf("****请选择: ");loop2:scanf("%d",&q); if(q==0) funct0(); if(q==1) xunhuan(); else { printf("输入错误(只能是0或1),请重新输入:"); goto loop2; }}void funct2() //按学校编号排序{ struct school sch1; int i,j,q; for(j=0;j<N-1;j++) for(i=0;i<N-j-1;i++) if(sch[i].schoolnum>sch[i+1].schoolnum) { sch1=sch[i]; sch[i]=sch[i+1]; sch[i+1]=sch1; } printf(" **********按学校编号排序**********\n"); printf(" **学校编号**\t\t\t\t**总分**\n"); for(i=0;i<N;i++) printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].total); printf("\n");printf("\n"); printf("########## 0:退出;1:返回目录。\n"); printf("****请选择: ");loop2: scanf("%d",&q); if(q==0) funct0(); if(q==1) xunhuan(); else { printf("输入错误(只能是0或1),请重新输入:"); goto loop2; } }void funct3() //按学校总分排序{ struct school sch1; int i,j,q; for(j=0;j<N-1;j++) for(i=0;i<N-j-1;i++) if(sch[i].total<sch[i+1].total) { sch1=sch[i]; sch[i]=sch[i+1]; sch[i+1]=sch1; } printf(" **********按学校总分排序**********\n"); printf(" **学校编号**\t\t\t\t**总分**\n"); for(i=0;i<N;i++) printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].total); printf("\n");printf("\n"); printf("########## 0:退出;1:返回目录。\n"); printf("****请选择: ");loop2: scanf("%d",&q); if(q==0) funct0(); if(q==1) xunhuan(); else { printf("输入错误(只能是0或1),请重新输入:"); goto loop2; }}void funct4() //按男团体总分排序{ struct school sch1; int i,j,q; for(j=0;j<N-1;j++) for(i=0;i<N-j-1;i++) if(sch[i].boytotal<sch[i+1].boytotal) { sch1=sch[i]; sch[i]=sch[i+1]; sch[i+1]=sch1; } printf(" **********按男团体总分排序**********\n"); printf(" **学校编号**\t\t**总分**\n"); for(i=0;i<N;i++) printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].boytotal); printf("\n");printf("\n"); printf("########## 0:退出;1:返回目录。\n"); printf("****请选择: ");loop2: scanf("%d",&q); if(q==0) funct0(); if(q==1) xunhuan(); else { printf("输入错误(只能是0或1),请重新输入:"); goto loop2; }}void funct5() //按女团体总分排序{ struct school sch1; int i,j,q; for(j=0;j<N-1;j++) for(i=0;i<N-j-1;i++) if(sch[i].girltotal<sch[i+1].girltotal) { sch1=sch[i]; sch[i]=sch[i+1]; sch[i+1]=sch1; } printf(" **********按女团体总分排序**********\n"); printf(" **学校编号**\t\t**总分**\n"); for(i=0;i<N;i++) printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].girltotal); printf("\n");printf("\n"); printf("########## 0:退出;1:返回目录。\n"); printf("****请选择: ");loop2:scanf("%d",&q); if(q==0) funct0(); if(q==1) xunhuan(); else { printf("输入错误(只能是0或1),请重新输入:"); goto loop2; }}void funct6() //按学校编号查询学校某个项目情况{ int i,n,m,q; printf(" **********按学校编号查询学校某个项目情况**********\n");loop1: printf("*******请输入所要查询的学校编号: "); scanf("%d",&n); if(n!=1&&n!=2) { printf("!!!!!输入错误,学校编号只能是“0”或“1”,请重新输入!!!!\n"); goto loop1; } printf("*******请输入所要查询的项目编号: "); scanf("%d",&m); for(i=0;i<N;i++) if(n==sch[i].schoolnum) { printf("学校编号: %d 项目编号: %d\n",n,m); if(sch[i].mat[m].rank[0]==1) printf("第一名(获得) "); if(sch[i].mat[m].rank[1]==1) printf("第二名(获得) "); if(sch[i].mat[m].rank[2]==1) printf("第三名(获得) "); else printf("本校该项目未进入前三名"); } printf("\n");printf("\n"); printf("########## 0:退出;1:返回目录;2:返回上一级。\n"); printf("****请选择: ");loop2: scanf("%d",&q); if(q==1) xunhuan(); if(q==0) funct0(); if(q==2) goto loop1; else { printf("输入错误(只能是0或1或2),请重新输入:"); goto loop2; }}void funct7() //按项目编号查询取得名次的学校{ int i,t,q; printf(" **********按项目编号查询取得名次的学校**********\n");loop1: printf("*****请输入所要查询的项目编号: ") ; scanf("%d",&t); printf("项目编号:%d\n",t) ; for(i=0;i<N;i++) { if(sch[i].mat[t-1].rank[0]==1) printf("获得第一名的学校编号是:%d \n",sch[i].schoolnum); if(sch[i].mat[t-1].rank[1]==1) printf("获得第二名的学校编号是:%d \n",sch[i].schoolnum); if(sch[i].mat[t-1].rank[2]==1) printf("获得第三名的学校编号是:%d \n",sch[i].schoolnum); } printf("\n");printf("\n"); printf("########## 0:退出;1:返回目录;2:返回上一级。\n"); printf("****请选择: ");loop2: scanf("%d",&q); if(q==1) xunhuan(); if(q==0) funct0(); if(q==2) goto loop1; else { printf("输入错误(只能是0或1或2),请重新输入:"); goto loop2; }}void xunhuan() //返回目录{ int t; mulu(); printf("\t\t请选择(输入0--7)序号:\t"); scanf("%d",&t); while(t!=0&&t!=1&&t!=2&&t!=3&&t!=4&&t!=5&&t!=6&&t!=7) { printf("输入有误,请重新选择:"); scanf("%d",&t); }switch(t){case 0:funct0();break;case 1:funct1();break;case 2:funct2();break;case 3:funct3();break;case 4:funct4();break;case 5:funct5();break;case 6:funct6();break;case 7:funct7();break;}} void main(){ system("Color 1e"); //改变背景,前景色 huanyingni(); input(); totaljisuan(); xunhuan();}九、课程设计体会 本次课程设计检验了我的实践能力,感觉自己还有许多东西要学习,并不仅限于课本上的知识,实践才是真理,在学习中实践,实践中去学习。学习的路很长。再有要多问,几个人共同讨论会有意想不到的效果