运动会分数统计程序 C++
楼主你好,你看看下面这个代码吧和你的比较相似:
#include<iostream>
#include<string>
#include<iomanip>
usingnamespacestd;
classSchool{
private:
intid;//学校编号
stringname;//学校名称
inttotal;//学校总分
intmale;//男子总分
intfemale;//女子总分
public:
School(){//初始化
id=0;
male=0;
female=0;
total=0;
}
voidsetName(strings){
name=s;
}
stringgetName(){
returnname;
}
voidsetId(inti){
id=i;
}
intgetId(){
returnid;
}
voidsetTotal(inta){
total=a;
}
intgetTotal(){
returntotal;
}
voidsetMale(inta){
male=a;
}
voidsetFemale(inta){
female=a;
}
intgetMale(){
returnmale;
}
intgetFemale(){
returnfemale;
}
};
classItem{
private:
Schoolsc[20];
stringname;
public:
SchoolgetSchool(inti){
returnsc[i];
}
School*getSchools(){
returnsc;
}
voidsetSchool(Schoolsch,inti){
sc[i]=sch;
}
voidsetName(strings){
name=s;
}
stringgetName(){
returnname;
}
};
classCount{
private:
Schoolsc[20];
Itemitem[20];
intintegral[5];
intn;
public:
Count(){
n=0;
integral[0]=7;
integral[1]=5;
integral[2]=3;
integral[3]=2;
integral[4]=1;
}
voidinput();//输入
voidprint(int);//打印
voidstatisticsForTotal();//按总分排序
voidstatisticsForId();//按编号排序
voidstatisticsForMale();//按男子总分排序
voidstatisticsForFemale();//按女子总分排序
voidschoolInfo();//显示学校信息
voiditemInfo();//显示项目信息
voidmenu();//显示菜单
voidsort(School*,string,int);//排序操作
};
voidCount::input(){
inti,j,num,m,f,id;
School*sch;
Item*it;
strings;
cout<<"输入学校数目:";
cin>>n;
for(i=0;i<n;i++){
sch=newSchool;
cout<<"请输入第"<<i+1<<"学校的名称:";
cin>>s;
sch->setName(s);
sch->setId(i+1);
sc[i]=*sch;
}
cout<<"输入男子和女子项目的数目:";
cin>>m;
cin>>f;
while(m>20||m<1||f>20||f<1){
cout<<"输入数据有误,请重新输入:"<<endl;
cin>>m;
cin>>f;
}
for(i=0;i<m+f;i++){
cout<<"输入第"<<i+1<<"个项目的名称:";
cin>>s;
it=newItem;
it->setName(s);
item[i]=*it;
cout<<"输入第"<<i+1<<"个项目的前5名学校的编号:"<<endl;
for(j=0;j<5;j++){
cin>>id;
if(i<m)
sc[id-1].setMale(sc[id-1].getMale()+integral[j]);
elseif(i<m+f)
sc[id-1].setFemale(sc[id-1].getFemale()+integral[j]);
sc[id-1].setTotal(sc[id-1].getTotal()+integral[j]);
item[i].setSchool(sc[id-1],j);
}
}
}
voidCount::print(inti){
cout<<""<<sc[i].getId()<<setw(10)<<sc[i].getName()<<setw(8)<<sc[i].getTotal()
<<setw(9)<<sc[i].getMale()<<setw(10)<<sc[i].getFemale()<<endl;
}
voidCount::sort(School*sch,stringmode,intnum){//排序函数
inti,j,exchange;
Schoolt;
if(mode=="total"){
exchange=0;
for(i=0;i<num-1;i++){
for(j=num-2;j>=0;j--)
if(sch[j+1].getTotal()>sch[j].getTotal()){
exchange=1;
t=sc[j+1];
sch[j+1]=sch[j];
sch[j]=t;
}
if(!exchange)
return;
}
return;
}
if(mode=="id"){
for(i=0;i<num;i++){
for(j=i+1;j<num;j++)
if(sch[i].getId()>sch[j].getId()){
t=sch[i];
sch[i]=sch[j];
sch[j]=t;
}
}
return;
}
if(mode=="male"){
exchange=0;
for(i=0;i<num-1;i++){
for(j=num-2;j>=0;j--)
if(sch[j+1].getMale()>sch[j].getMale()){
exchange=1;
t=sc[j+1];
sch[j+1]=sch[j];
sch[j]=t;
}
if(!exchange)
return;
}
return;
}
if(mode=="female"){
exchange=0;
for(i=0;i<num-1;i++){
for(j=num-2;j>=0;j--)
if(sch[j+1].getFemale()>sch[j].getFemale()){
exchange=1;
t=sc[j+1];
sch[j+1]=sch[j];
sch[j]=t;
}
if(!exchange)
return;
}
return;
}
}
voidCount::statisticsForTotal(){
inti;
sort(sc,"total",n);
cout<<"按总分排序:"<<endl;
cout<<"学校编号学校名称总分男子总分女子总分"<<endl;
for(i=0;i<n;i++)
print(i);
}
voidCount::statisticsForId(){
inti;
sort(sc,"id",n);
cout<<"按编号排序为:"<<endl;
cout<<"学校编号学校名称总分男子总分女子总分"<<endl;
for(i=0;i<n;i++)
print(i);
}
voidCount::statisticsForMale(){
inti;
sort(sc,"male",n);
cout<<"按男子项目积分排序:"<<endl;
cout<<"学校编号学校名称总分男子总分女子总分"<<endl;
for(i=0;i<n;i++)
print(i);
}
voidCount::statisticsForFemale(){
inti;
sort(sc,"female",n);
cout<<"按女子项目积分排序:"<<endl;
cout<<"学校编号学校名称总分男子总分女子总分"<<endl;
for(i=0;i<n;i++)
print(i);
}
voidCount::schoolInfo(){//查询学校的情况
inti,s;
cout<<"输入需要查询的学校编号:";
while(1){
cin>>s;
if(s<1||s>n){
cout<<"输入数据有误,请重新输入:";
continue;
}
break;
}
printf("该学校的信息信息:\n");
printf("编号学校名称总分男子总分女子总分\n");
for(i=0;i<n;i++){
if(sc[i].getId()==s){
print(i);
break;
}
}
cout<<endl;
}
voidCount::itemInfo(){//查询项目的情况
inti,s;
cout<<"输入需要查询的项目的编号:";
while(1){
cin>>s;
if(s<1||s>n){
cout<<"输入数据有误,请重新输入:";
continue;
}
break;
}
cout<<item[s-1].getName()<<"前5名学校编号及名称为:"<<endl;
sort(item[s-1].getSchools(),"total",5);
cout<<"名次学校编号学校名称"<<endl;
for(i=0;i<5;i++)
cout<<""<<i+1<<"\t"<<item[s-1].getSchool(i).getId()
<<"\t"<<item[s-1].getSchool(i).getName()<<endl;
}
voidCount::menu(){//程序菜单
inti,flag=1;
while(flag){
cout<<"选择您需要的操作:"<<endl;
cout<<"1.按学校编号排序输出"<<endl;
cout<<"2.按学校总分排序输出"<<endl;
cout<<"3.按学校男总分排序输出"<<endl;
cout<<"4.按学校女总分排序输出"<<endl;
cout<<"5.查询某个学校成绩"<<endl;
cout<<"6.查询某个项目成绩"<<endl;
cout<<"7.结束"<<endl;
cin>>i;
while(i<1||i>7){
cout<<"你的输入有误,请重新输入:";
cin>>i;
}
switch(i){
case1:
statisticsForId();
break;
case2:
statisticsForTotal();
break;
case3:
statisticsForMale();
break;
case4:
statisticsForFemale();
break;
case5:
schoolInfo();
break;
case6:
itemInfo();
break;
case7:
flag=0;
break;
}
}
}
voidmain(){
Countc;
c.input();
c.menu();
}
希望能够帮助到你!
参考资料: http://zhidao.baidu.com/question/314574733.html
运动会分数统计
功能还算齐全,觉得可以加分啊!
#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<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; }运动会分数统计程序
实在有点发杂,很烦的问题,你既然不会写,我给你个大致的系统设计好了。
剩下的函数自己写吧,呵呵#include "stdafx.h"#include <conio.h>#include <stdio.h>#include <string>#include <iostream>using namespace std;struct student{ //学生信息 string name; short int classes; int Fen;};struct Sport{ //记录信息 string SportName; string Time; student a1; student a2; student a3; student a4; student a5;};class Sporttt{ //这个类完成输入到文件的操作,当需要输入的时候,新建一个这个类的对象public: Sport sport; string cinn(); .......................................}class Query{//这个类完成读取文件数据,并输出的操作 Query(){fstream fin;<br/> fin.open(".........");.........} ...........}void main(){ int t; cout<<"——————欢迎进入运动会记录系统——————"<<endl; cout<<"请选择您需要的操作:"<<endl; ..................... ......... ......... if(.t == ??.....)... elseif ..... ..............}用c语言设计出运动会成绩统计系统!!
#include<iostream>
#include<string> #include<iomanip> #include<fstream>using namespace std; int n; //n个学校 int m; //m个男子项目 int w; //w个女子项目struct yun //表示运动员的结构体{ string yunname;//运动员的名称 int sportsman[6];//运动员的编号}yun[21];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};//前五名得分int Integral[3]={5,3,2};//前三名得分void input() { int i,j,y,x,sportman; 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个学校的名称:\n",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; if(i%2!=0) { 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]; } printf("输入第%d个项目的前5名的运动员编号和姓名:\n",i); for(j=1;j<=5;j++) { y=0; while(1) { scanf("%d",&sportman); scanf("%c",&yun[j].yunname); if(sportman>=1&&sportman<=20)y=1; if(y)break; else printf("输入数据有误,请重新输入:"); } } } else { printf("输入第%d个项目的前3名的学校编号:\n",i); for(j=1;j<=3;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]; } printf("输入第%d个项目的前3名的运动员编号和姓名:\n",i); for(j=1;j<=3;j++) { y=0; while(1) { scanf("%d",&sportman); scanf("%c",&yun[j].yunname); if(sportman>=1&&sportman<=20)y=1; if(y)break; else printf("输入数据有误,请重新输入:"); } } } } } 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; }以上回答你满意么?