#include
#include
#include
#include
using namespace std;
class Player
{
private:
int bianhao;
string name;
double average;
double total;
double score[10];
public:
Player()
{
bianhao=0;
name="无";
average=0;
total=0;
for(int r=0;r<10;r++)
{
score[r]=0;
}
}
void Scoreset(double score[])
{
for(int i=0;i<10;i++)
{
this->score[i]=score[i];
}
}
int Bianhaoget()
{
return bianhao;
}
void Bianhaoset(int bianhao)
{
this->bianhao=bianhao;
}
string Nameget()
{
return name;
}
void Nameset(string name)
{
this->name=name;
}
double Averageget()
{
double caverage=0;
for(int i=0;i<10;i++)
{
for(int j=i;j<10;j++)
{
if(score[i]>score[j])
{
double t=score[i];
score[i]=score[j];
score[j]=t;
}
}
}
for(int a=1;a<9;a++)
{
caverage=caverage+score[a];
}
average=caverage/8;
return average;
}
void Averageset(double average)
{
this->average=average;
}
double Totalget()
{
for(int s=0;s<10;s++)
{
total=total+score[s];
}
return total;
}
void Totalset(double total)
{
this->total=total;
}
};
int main()
{
for(int k=0;k<10;k++)
{
Player player1[10];
int select;
int upper=2;
cout<<"=========主菜单显示如下:=========\n"<<endl;
cout<<"1.输入选手数据及评委打分"<<endl;
cout<<"2.成绩排序(按平均分)"<<endl;
cout<<"3.数据查询"<<endl;
cout<<"4.追加选手数据"<<endl;
cout<<"5.写入数据文件"<<endl;
cout<<"6.退出系统"<<endl;
cout<<"按序号来选择功能:"<<endl;
cin>>select;
if(select==1)
{
if(upper<=10)
{
cout<<"输入学生编号:";
int newbianhao;
for(int i=0;i<2;i++)
{
cin>>newbianhao;
player1[i].Bianhaoset(newbianhao);
}
cout<<"输入学生姓名:";
string newname;
for(int j=0;j<2;j++)
{
cin>>newname;
player1[j].Nameset(newname);
}
cout<<"输入选手的十个评委成绩:";
double newscore[10];
for(int a=0;a<2;a++)
{
for(int q=0;q<10;q++)
{
cin>>newscore[q];
}
player1[a].Scoreset(newscore);
}
}
else
{
cout<<"人数已满"<<endl;
}
}
else if(select==2)
{
cout<<"成绩排序:";
if(upper!=0)
{
double average[10];
for(int r=0;r<upper;r++)
{
average[r]=player1[r].Averageget();
}
for(int s=0;s<upper;s++)
{
for(int p=s;p<upper;p++)
{
if(average[s]>average[p])
{
double t=average[s];
average[s]=average[p];
average[p]=t;
}
}
}
for(int b=0;b<upper;b++)
{
cout<<average[b]<<endl;
}
}
else
{
cout<<"无人参赛"<<endl;
}
cout<<endl;
}
else if(select==3)
{
cout<<"数据查询"<<endl;
if(upper!=0)
{
cout<<"请输入选手编号:";
int bianhao=0;
cin>>bianhao;
for(int e=0;e<upper;e++)
{
if(bianhao==player1[e].Bianhaoget())
{
cout<<"该选手的编号:"<<player1[e].Bianhaoget()<<endl;
cout<<"该选手的姓名:"<<player1[e].Nameget()<<endl;
cout<<"该选手的总成绩:"<<player1[e].Totalget()<<endl;
cout<<"该选手的平均成绩:"<<player1[e].Averageget()<<endl;
break;
}
else
{
cout<<"Not find"<<endl;
}
}
}
else
{
cout<<"无人参赛"<<endl;
}
}
else if(select==4)
{
if(upper<=10)
{
int xbianhao;
string xname;
double xtotal;
double xaverage;
cout<<"追加选手数据"<<endl;
cout<<"输入新选手编号:";
cin>>xbianhao;
player1[upper].Bianhaoset(xbianhao);
cout<<"输入新选手姓名:";
cin>>xname;
player1[upper].Nameset(xname);
cout<<"输入新选手总成绩:";
cin>>xtotal;
player1[upper].Totalset(xtotal);
cout<<"输入新选手平均成绩:";
cin>>xaverage;
player1[upper].Averageset(xaverage);
}
else
{
cout<<"人数已满"<<endl;
}
}
else if(select==5)
{
cout<<"写入数据文件:";
fstream inout;
inout.open("player.txt",ios::out);
{
for(int g=0;g<=upper;g++)
{
inout<<"选手编号:"<<player1[g].Bianhaoget()<<" "<<"选手姓名:"<<player1[g].Nameget()
<<" "<<"选手总成绩:"<<player1[g].Totalget()<<" "<<"选手平均成绩:"<<player1[g].Averageget()<<endl;
}
inout.close();
cout<<"写入完成"<<endl;
}
}
else if(select==6)
{
exit(0);
}
}
return 0;
}