#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int Schoolnum;
int Manpronum;
int Womanpronum;
class womanprogram{
private:
int programid;
string programname;
int programscore;
public:
int getproid() const;
string getproname()const;
int getprogramscore() const;
void serpro(int id,string pname,int score);
};
int womanprogram::getproid() const
{
return programid;
}
string womanprogram::getproname() const
{
return programname;
}
int womanprogram::getprogramscore() const
{
return programscore;
}
void womanprogram::serpro(int id,string pname,int score)
{
programid=id;
programname=pname;
programscore=score;
}
class manprogram{
private:
int programid;
string programname;
int programscore;
public:
int getproid() const;
string getproname() const;
int getprogramscore() const;
void serpro(int id,string pname,int score);
};
int manprogram::getproid() const
{
return programid;
}
string manprogram::getproname() const
{
return programname;
}
int manprogram::getprogramscore() const
{
return programscore;
}
void manprogram::serpro(int id,string pname,int score)
{
programid=id;
programname=pname;
programscore=score;
}
womanprogram pwoman[10];
manprogram pman[10];
int tmanscore()
{
int mscore(0);
for(int i=0;i<Manpronum;i++)
{
mscore=mscore+pman[i].getprogramscore();
}
return mscore;
}
int twomanscore()
{
int wscore(0);
for(int i=0;i<Womanpronum;i++)
{
wscore=wscore+pwoman[i].getprogramscore();
}
return wscore;
}
int tscore()
{
int ttscore(0);
ttscore=tmanscore()+twomanscore();
return ttscore;
}
class school{
private:
int schoolid;
string sname;
int score;
int manscore;
int womanscore;
womanprogram *swomanpro;
manprogram *smanpro;
public:
int getschoolid() const;
string getscholname() const;
int getscore();
int getmanscore() ;
int getwomanscore() ;
void showwomanpro();
void setschool(int id,string name,manprogram mpro[],womanprogram wopro[]);
//school();
//void setschool(int id,string name,manprogram pro[]);
void showmanpro();
};
int school::getschoolid() const
{
return schoolid;
}
string school::getscholname() const
{
return sname;
}
int school::getmanscore()
{
//for(int i=0;i<Manpronum;i++)
// {
// manscore=manscore+pman[i].getprogramscore();
// }
return manscore=tmanscore();
}
int school::getwomanscore()
{
//for(int i=0;i<Womanpronum;i++)
//{
// womanscore=womanscore+pwoman[i].getprogramscore();
//}
return womanscore=twomanscore();
}
int school::getscore()
{
//int totalscore;
//totalscore=womanscore+manscore;
return score=tscore();
}
void school::setschool(int id,string name,manprogram *mpro,womanprogram *wopro)
{
schoolid=id;
sname=name;
smanpro=mpro;
swomanpro=wopro;
}
//school::school()
//{
// schoolid=0;
// sname="null";
// manscore=0;
// womanscore=0;
// score=0;
//}
//void school::setschool(int id,string name,manprogram *pro)
//{
// schoolid=id;
// sname=name;
// smanpro=pro;
//}
void school::showmanpro()
{
cout<<setw(10)<<"男子项目名字"<<setw(10)<<"项目ID"<<setw(10)<<"项目得分"<<endl;
for(int i=0;i<Manpronum;i++)
cout<<setw(10)<<pman[i].getproname()<<setw(10)<<pman[i].getproid()<<setw(10)<<pman[i].getprogramscore()<<endl;
}
void school::showwomanpro()
{
cout<<setw(10)<<"女子项目名称"<<setw(10)<<"项目ID"<<setw(10)<<"项目得分"<<endl;
for(int i=0;i<Womanpronum;i++)
cout<<setw(10)<<pwoman[i].getproname()<<setw(10)<<pwoman[i].getproid()<<setw(10)<<pwoman[i].getprogramscore()<<endl;
}
school sch[20];
void queryschoolid()
{
//int id;
//cout<<"输入学校ID:"<<endl;
//cin>>id;
//id--;
sch[0].showmanpro();
sch[0].showwomanpro();
}
void sortschoolscore()
{
school tem;
for(int i=0;i<Schoolnum;i++)
{
for(int j=i;j<Schoolnum;j++)
if(sch[i].getscore()>sch[i].getscore())
{
tem=sch[i];
sch[i]=sch[j];
sch[j]=tem;
}
}
cout<<setw(10)<<"学校总分"<<setw(10)<<"学校名字"<<setw(10)<<"学校ID"<<setw(10)<<"男子团体总分"<<setw(10)<<"女子团体总分"<<endl;
for(int k=0;k<Schoolnum;k++)
{
cout<<setw(10)<<sch[k].getscore()<<setw(10)<<sch[k].getscholname()<<setw(10)<<sch[k].getschoolid()<<setw(10)<<sch[k].getmanscore()<<setw(10)<<sch[k].getwomanscore()<<endl;
}
}
void sortmanproscore()
{
school temp;
for(int i=0;i<Schoolnum;i++)
{
for(int j=i;j<Schoolnum;j++)
if(sch[i].getmanscore()>sch[i].getmanscore())
{
temp=sch[i];
sch[i]=sch[j];
sch[j]=temp;
}
}
cout<<setw(10)<<"男子团体得分"<<setw(10)<<"学校ID"<<setw(10)<<"学校名字"<<setw(10)<<"学校总分"<<setw(10)<<"女子团体得分"<<endl;
for(int k=0;k<Schoolnum;k++)
{
cout<<setw(10)<<sch[k].getmanscore()<<setw(10)<<sch[k].getschoolid()<<setw(10)<<sch[k].getscholname()<<setw(10)<<sch[k].getscore()<<setw(10)<<sch[k].getwomanscore()<<endl;
}
}
void sortwomanproscore()
{
school temp;
for(int i=0;i<Schoolnum;i++)
{
for(int j=i;j<Schoolnum;j++)
if(sch[i].getwomanscore()>sch[i].getwomanscore())
{
temp=sch[i];
sch[i]=sch[j];
sch[j]=temp;
}
}
cout<<setw(10)<<"女子团体得分"<<setw(10)<<"学校ID"<<setw(10)<<"学校名字"<<setw(10)<<"学校总分"<<setw(10)<<"男子团体得分"<<endl;
for(int k=0;k<Schoolnum;k++)
{
cout<<setw(10)<<sch[k].getwomanscore()<<setw(10)<<sch[k].getschoolid()<<setw(10)<<sch[k].getscholname()<<setw(10)<<sch[k].getscore()<<setw(10)<<sch[k].getmanscore()<<endl;
}
}
void sortschoolid()
{
cout<<setw(10)<<"学校ID"<<setw(10)<<"学校名字"<<setw(10)<<"学校总分"<<setw(10)<<"男子团体总分"<<setw(10)<<"女子团体总分"<<endl;
for(int i=0;i<Schoolnum;i++)
cout<<setw(10)<<sch[i].getschoolid()<<setw(10)<<sch[i].getscholname()<<setw(10)<<sch[i].getscore()<<setw(10)<<sch[i].getmanscore()<<setw(10)<<sch[i].getwomanscore()<<endl;
}
void inputschool()
{
cout<<"参赛学校数目:";
cin>>Schoolnum;
cout<<"参赛男子项目数目:";
cin>>Manpronum;
cout<<"参赛女子项目数目:";
cin>>Womanpronum;
for(int i=0;i<Schoolnum;i++)
{
int sid;
sid=i+1;
string name("");
cout<<"学校编号"<<sid<<"名字"<<endl;
cin>>name;
for(int j=0;j<Manpronum;j++)
{
int mid;
mid=j+1;
string proname("");
cout<<"输入男子"<<mid<<"项目名称 ";
cin>>proname;
cout<<"输入项目得分:";
int proscore;
cin>>proscore;
pman[j].serpro(mid,proname,proscore);
//cout<<"&&&&&&&&&&&&&&&&&&&&&"<<endl;
//for(j=0;j<Manpronum;j++)
//cout<<pman[j].
}
cout<<"&&&&&&&&&&&&&&&&&&&&&"<<endl;
for(j=0;j<Manpronum;j++)
cout<<pman[j].getproid()<<pman[j].getproname()<<endl;
//sch[i].setschool(sid,name,pman);
//cout<<"男子"<<endl;
//cout<<sch[i].getschoolid()<<endl;sch[i].showmanpro();
for(int k=0;k<Womanpronum;k++)
{
int wid;
wid=k+Manpronum+1;
string proname("");
cout<<"输入女子"<<wid<<"项目名称:";
cin>>proname;
cout<<"输入项目得分:";
int proscore;
cin>>proscore;
pwoman[k].serpro(wid,proname,proscore);
}
cout<<"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"<<endl;
for(k=0;k<Womanpronum;k++)
cout<<pwoman[k].getproid()<<pwoman[k].getproname()<<endl;
sch[i].setschool(sid,name,pman,pwoman);
cout<<"输出"<<endl;
cout<<sch[i].getschoolid()<<endl;sch[i].showmanpro();sch[i].showwomanpro();
}
for(i=0;i<Schoolnum;i++)
{
cout<<"输出*********************************************************"<<endl;
cout<<"学校ID"<<sch[i].getschoolid()<<endl;sch[i].showmanpro();sch[i].showwomanpro();
}
}
void select()
{
int schioce(1);
while(schioce!=0)
{
cout<<"0 退出"<<endl;
cout<<"1 根据ID查询学校项目"<<endl;
cout<<"2 按学校编号排序输出(1-schoolnum)"<<endl;
cout<<"3 按学校总分排序输出"<<endl;
cout<<"4 按学校男子团体总分排序输出"<<endl;
cout<<"5 按学校女子团体总分排序输出"<<endl;
cout<<"选择:";
cin>>schioce;
switch(schioce)
{
case 0:
break;
case 1:
queryschoolid(); break;
case 2:
sortschoolid(); break;
case 3:
sortschoolscore(); break;
case 4:
sortmanproscore(); break;
case 5:
sortwomanproscore(); break;
default:
cout<<"输入错误,或无相关记录,返回主菜单"<<endl; break;
}
}
}
int main()
{
int chioce(1);
while(chioce!=0)
{
cout<<"运动会统计系统"<<endl;
cout<<"0 退出"<<endl;
cout<<"1 录入信息"<<endl;
cout<<"2 查询信息"<<endl;
cout<<"选择:";
cin>>chioce;
switch(chioce)
{
case 0:
break;
case 1:
inputschool(); break;
case 2:
select(); break;
default:
cout<<"输入错误,返回主菜单"<<endl;
}
}
return 0;
}