📄 运动会源程序.txt
字号:
#include <iostream.h>
#include <string.h>
#include <float.h>
#include <stdlib.h>
#include <malloc.h>
#include <fstream.h>
#include <stdio.h>
static int n; //学校总数
static int schore[20];//学校总分
static int schsco[20][2];//学校男女总分[学校编号][男0女1]
typedef struct dd
{
int data;
int id;
}dd;
void hopyt();
void hopym();
void hopyf();
void main()
{
mainstart:
cout<<"初始化中,请稍等..."<<endl;
int i;//备用
int j;
int k=0;
int h=0;
int low=0;
int high=0;
int mscore[20][20];//男子项目成绩[项目编号][名次]
for(i=0;i<=19;i++)
{
for(j=0;j<=19;j++)
{
mscore[i][j]=0;
}
}
int fscore[20][20];//女子项目成绩[项目编号][名次]
for(i=0;i<=19;i++)
{
for(j=0;j<=19;j++)
{
fscore[i][j]=0;
}
}
//static int n=0;//学校总数
int nn=0;//**编号
int m=0;//男子项目总数
int mm=0;//****编号
int w=0;//女子项目总数
int ww=0;//****编号
for(i=0;i<=19;i++)
{
for(j=0;j<=1;j++)
{
schsco[i][j]=0;
}
}
for(i=0;i<=19;i++)
{
schore[i]=0;
}
int queue[20];
for(i=0;i<=19;i++)
{
queue[i]=0;
}
int sex;
cout<<"初始化完成!\n "<<endl;
//-----------------主菜单------------
cout<<"运动会分数统计主菜单\n1.创建数据\n2.读取数据\n3.修改数据\n4.保存数据\n5.退出程序"<<endl;
selection:
cout<<"请输入选择项目:"<<endl;
cin>>i;
if(i<1||i>4)
{
cout<<"非法数据,请重新输入!"<<endl;
goto selection;
}
switch(i)
{
case(1):goto filecreat;
case(2):goto fileread;
case(3):goto filedit;
case(4):goto filesave;
case(5):goto proend;
}
//-----------------创建------------
filecreat:
cout<<"注意:创建新数据将覆盖原有运动会数据!确认要创建吗?输入0确认创建,否则退出程序"<<endl;
cin>>i;
if(i!=0)
goto proend;
cout<<"开始创建数据文件!"<<endl;
school://学校个数
cout<<"请输入学校个数(大于0小于21)"<<endl;
cin>>n;
if(n<1||n>20)
{
cout<<"非法数据,请重新输入!"<<endl;
goto school;
}
cout<<"学校总数为"<<n<<"个,输入0确认,否则重新输入。"<<endl;
cin>>i;
if(i!=0)
goto school;
maleprj://男子项目总数
cout<<"请输入男子项目总数(大于0小于21)"<<endl;
cin>>m;
if(m<1||m>20)
{
cout<<"非法数据,请重新输入!"<<endl;
goto maleprj;
}
cout<<"男子项目总数为"<<m<<"个,输入0确认,否则重新输入。"<<endl;
cin>>i;
if(i!=0)
goto maleprj;
fmaleprj://女子项目总数
cout<<"请输入女子项目总数(大于0小于21)"<<endl;
cin>>w;
if(w<1||w>20)
{
cout<<"非法数据,请重新输入!"<<endl;
goto fmaleprj;
}
cout<<"女子项目总数为"<<w<<"个,输入0确认,否则重新输入。"<<endl;
cin>>i;
if(i!=0)
goto fmaleprj;
malesco://男子成绩
for(i=0;i<=m-1;i++)
{
for(j=0;j<=4;j++)
{
maleinput:
cout<<"请输入获得男子项目"<<i+1<<"第"<<j+1<<"名的学校编号:"<<endl;
cin>>mscore[i][j];
if(mscore[i][j]<1||mscore[i][j]>n)
{
cout<<"非法数据,请重新输入!"<<endl;
goto maleinput;
}
mscore[i][j]--;
cout<<"获得男子项目"<<i+1<<"第"<<j+1<<"名的学校编号是:"<<mscore[i][j]+1<<"\n输入0确认,否则重新输入。"<<endl;
cin>>k;
if(k!=0)
goto maleinput;
}
}
for(i=0;i<=m-1;i++)
{
for(j=0;j<=4;j++)
{
cout<<"获得男子项目"<<i+1<<"第"<<j+1<<"名的学校编号是:"<<mscore[i][j]+1<<endl;
}
}
cout<<"输入0确认,否则重新输入。"<<endl;
cin>>i;
if(i!=0)
goto malesco;
fmalesco://女子成绩
for(i=0;i<=w-1;i++)
{
for(j=0;j<=4;j++)
{
fmaleinput:
cout<<"请输入获得女子项目"<<i+1<<"第"<<j+1<<"名的学校编号:"<<endl;
cin>>fscore[i][j];
if(fscore[i][j]<1||fscore[i][j]>n)
{
cout<<"非法数据,请重新输入!"<<endl;
goto fmaleinput;
}
fscore[i][j]--;
cout<<"获得女子项目"<<i+1<<"第"<<j+1<<"名的学校编号是:"<<fscore[i][j]+1<<"\n输入0确认,否则重新输入。"<<endl;
cin>>k;
if(k!=0)
goto fmaleinput;
}
}
for(i=0;i<=w-1;i++)
{
for(j=0;j<=4;j++)
{
cout<<"获得女子项目"<<i+1<<"第"<<j+1<<"名的学校编号是:"<<fscore[i][j]+1<<endl;
}
}
cout<<"输入0确认,否则重新输入。"<<endl;
cin>>i;
if(i!=0)
goto fmalesco;
cout<<"数据创建完成!"<<endl;
goto fileprint;
//-----------------读取------------
fileread:
goto fileprint;
//-----------------显示------------
fileprint:
cout<<"统计中,请稍等..."<<endl;
for(i=0;i<=m-1;i++)
{
schsco[mscore[i][0]][0]=schsco[mscore[i][0]][0]+7;
schsco[mscore[i][1]][0]=schsco[mscore[i][1]][0]+5;
schsco[mscore[i][2]][0]=schsco[mscore[i][2]][0]+3;
schsco[mscore[i][3]][0]=schsco[mscore[i][3]][0]+2;
schsco[mscore[i][4]][0]=schsco[mscore[i][4]][0]+1;
}
for(i=0;i<=w-1;i++)
{
schsco[fscore[i][0]][1]=schsco[fscore[i][0]][1]+7;
schsco[fscore[i][1]][1]=schsco[fscore[i][1]][1]+5;
schsco[fscore[i][2]][1]=schsco[fscore[i][2]][1]+3;
schsco[fscore[i][3]][1]=schsco[fscore[i][3]][1]+2;
schsco[fscore[i][4]][1]=schsco[fscore[i][4]][1]+1;
}
for(i=0;i<n;i++)
{
schore[i]=schsco[i][0]+schsco[i][1];
}
filepnt:
cout<<"请选择显示方法:\n1.按学校编号排序输出\n2.按学校总分排序输出\n3.按男子团体总分排序输出\n4.按女子团体总分排序输出\n5.按学校编号查询学校某个项目的情况\n6.按项目编号查询取得前五名的学校"<<endl;
pntsele:
cin>>i;
if(i<0||i>5)
{
cout<<"非法数据,请重新输入!"<<endl;
goto pntsele;
}
switch(i)
{
case(1):goto schque;
case(2):goto tatque;
case(3):goto malque;
case(4):goto femque;
case(5):goto schrch;
case(6):goto prsrch;
}
schque://==========按学校编号排序输出==========
for(i=0;i<n;i++)
{
cout<<"学校编号:"<<i+1<<" 男子团体总分:"<<schsco[i][0]<<" 女子团体总分:"<<schsco[i][1]<<" 学校总分:"<<schore[i]<<endl;
}
fanhui:
cout<<"输入0重新选择显示方法,否则返回主菜单。"<<endl;
cin>>i;
if(i!=0)
{
goto mainstart;
}
goto filepnt;
tatque://==========按学校总分排序输出==========
cout<<"排序中,请稍等..."<<endl;
cout<<"按学校总分排序结果如下:"<<endl;
hopyt();
goto fanhui;
malque://======按男子团体总分排序输出==========
cout<<"排序中,请稍等..."<<endl;
cout<<"按男子团体总分排序结果如下:"<<endl;
hopym();
goto fanhui;
femque://======按女子团体总分排序输出==========
cout<<"排序中,请稍等..."<<endl;
cout<<"按女子团体总分排序结果如下:"<<endl;
hopyf();
goto fanhui;
schrch://===按学校编号查询学校某个项目的情况===
cout<<"请输入学校编号(大于0小于"<<n+1<<")"<<endl;
bianhao:
cin>>nn;
if(nn<1||nn>n)
{
cout<<"非法数据,请重新输入!"<<endl;
goto bianhao;
}
nn--;
cout<<"欲查询的学校编号是:"<<nn+1<<"\n输入0确认,否则重新输入。"<<endl;
cin>>k;
if(k!=0)
{
goto bianhao;
}
cout<<"输入0选择男子项目,输入1选择女子项目"<<endl;
xingbie:
cin>>sex;
if(sex<0||sex>1)
{
cout<<"非法数据,请重新输入!"<<endl;
goto xingbie;
}
cout<<"欲查询的是";
if(sex==0)
{
cout<<"男";
}
else
{
cout<<"女";
}
cout<<"子项目。\n输入0确认,否则重新输入。"<<endl;
cin>>k;
if(k!=0)
{
goto xingbie;
}
switch(sex)
{
case(0):goto nanzi;
case(1):goto nvzi;
}
nanzi://男子
cout<<"输入项目编号(大于0小于"<<m<<")"<<endl;
nanxiang:
cin>>mm;
if(mm<0||mm>m)
{
cout<<"非法数据,请重新输入!"<<endl;
goto nanxiang;
}
mm--;
cout<<"欲查询项目"<<mm<<"\n输入0确认,否则重新输入。"<<endl;
cin>>k;
if(k!=0)
{
goto nanxiang;
}
cout<<"您所查询的学校"<<nn+1<<"获得男子项目"<<mm<<"的成绩情况是:"<<endl;
j=0;
for(i=0;i<=5;i++)
{
if(mscore[mm][i]==nn)
{
cout<<"获得第"<<i+1<<"名"<<endl;
j=j+1;
}
}
if(j==0)
{
cout<<"很遗憾,您所查询的学校"<<nn+1<<"在男子项目"<<mm<<"中没能进入前5名。"<<endl;
}
goto fanhui;
nvzi://女子
cout<<"输入项目编号(大于0小于"<<w<<")"<<endl;
nvxiang:
cin>>ww;
if(ww<0||ww>w)
{
cout<<"非法数据,请重新输入!"<<endl;
goto nvxiang;
}
ww--;
cout<<"欲查询项目"<<ww<<"\n输入0确认,否则重新输入。"<<endl;
cin>>k;
if(k!=0)
{
goto nvxiang;
}
cout<<"您所查询的学校"<<nn+1<<"获得女子项目"<<ww<<"的成绩情况是:"<<endl;
j=0;
for(i=0;i<=5;i++)
{
if(fscore[ww][i]==nn)
{
cout<<"获得第"<<i+1<<"名"<<endl;
j=j+1;
}
}
if(j==0)
{
cout<<"很遗憾,您所查询的学校"<<nn+1<<"在女子项目"<<ww<<"中没能进入前5名。"<<endl;
}
goto fanhui;
prsrch://====按项目号查询取得前五名的学校====
goto filedit;
//-----------------修改------------
filedit:
//-----------------存储------------
filesave:
//-----------------结束------------
proend:
cout<<"感谢使用!"<<endl;
}
//int n=5;
//int schore[5]={5,4,3,2,1};
int cc[20];
int queue[20];
void hopyt()
{
dd cc[20],m;
int i,j;
for(i=0;i<n;i++)
{
cc[i].id=i;
cc[i].data=schore[i];
}
for( i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(cc[i].data<cc[j].data)
{
m=cc[i];
cc[i]=cc[j];
cc[j]=m;
}
}
for(i=0;i<n;i++)
queue[i]=cc[i].id;
for(i=0;i<n;i++)
cout<<"第"<<i+1<<"位. 学校编号:"<<queue[i]+1<<" 成绩:"<<schore[queue[i]]<<endl;
}
void hopym()
{
dd cc[20],m;
int i,j;
for(i=0;i<n;i++)
{
cc[i].id=i;
cc[i].data=schsco[i][0];
}
for( i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(cc[i].data<cc[j].data)
{
m=cc[i];
cc[i]=cc[j];
cc[j]=m;
}
}
for(i=0;i<n;i++)
queue[i]=cc[i].id;
for(i=0;i<n;i++)
cout<<"第"<<i+1<<"位. 学校编号:"<<queue[i]+1<<" 成绩:"<<schsco[queue[i]][0]<<endl;
}
void hopyf()
{
dd cc[20],m;
int i,j;
for(i=0;i<n;i++)
{
cc[i].id=i;
cc[i].data=schsco[i][1];
}
for( i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(cc[i].data<cc[j].data)
{
m=cc[i];
cc[i]=cc[j];
cc[j]=m;
}
}
for(i=0;i<n;i++)
queue[i]=cc[i].id;
for(i=0;i<n;i++)
cout<<"第"<<i+1<<"位. 学校编号:"<<queue[i]+1<<" 成绩:"<<schsco[queue[i]][1]<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -