⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 运动会源程序.txt

📁 运动会分数统计 (1) 可以输入各个项目的前三名或前五名的成绩; (2) 能统计各学校总分; (3) 可以按学校编号、学校总分、男女团体总分排序输出; (4) 可以按学校编号查询学校某个项
💻 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 + -