📄 main.cpp
字号:
#include<iostream>
#include<string>
#include<assert.h>
#include<iomanip>
#include"employee.h"
#include"player.h"
#include"outfield.h"
#include"goalkeeper.h"
#include"coach.h"
#include<fstream>
#include<stdlib.h>
using namespace std;
void main()
{
int i=0;
int l=0;
int q=0;
int m,temp,work;
int a, stre, pac, jum, agi, acc, sta, bal, hei, tea, wor, det, cre, bra, pos, pas, sho, tec, hea, tac, mar, f_k, dri, ref, han, a_a, thr, o_o,c_g,c_o,m_m,t_k,p,d;
double e;
char *n=new char;
char *posi=new char;
int propertie[20];
char *playername[20];
char *aaa;
outfield *player[25];
goalkeeper *keeper[5];
coach *coa[5];
//从外文本调入非门将球员数据
ifstream input1("name.txt",ios::in);
if(!input1)
{
cerr<<"file could not be open."<<endl;
abort();
}
while(input1>>a>>e>>n>>stre>>pac>>jum>>agi>>acc>>sta>>bal>>hei>>tea>>wor>>det>>cre>>bra>>pos
>>pas>>sho>>tec>>hea>>tac>>mar>>f_k>>dri>>posi)
{
player[i]=new outfield(a,e,n,stre,pac,jum,agi,acc,sta,bal,hei,tea,wor,det,cre,bra,pos,pas,sho,tec,hea,tac,mar,f_k,dri,posi);
i++;
}
//从外文本调入门将数据
ifstream input2("keeper.txt",ios::in);
if(!input2)
{
cerr<<"file could not be open."<<endl;
abort();
}
while(input2>>a>>e>>n>>stre>>pac>>jum>>agi>>acc>>sta>>bal>>hei>>tea>>wor>>det>>cre>>bra>>pos
>>ref>>han>>a_a>>thr>>o_o)
{
keeper[l]=new goalkeeper(a,e,n,stre,pac,jum,agi,acc,sta,bal,hei,tea,wor,det,cre,bra,pos,ref,han,a_a,thr,o_o);
l++;
}
//从外文本调入教练数据
ifstream input3("coach.txt",ios::in);
if(!input3)
{
cerr<<"file could not be open."<<endl;
abort();
}
while(input3>>a>>e>>n>>c_g>>c_o>>m_m>>t_k>>p>>d)
{
coa[q]=new coach(a,e,n,c_g,c_o,m_m,t_k,p,d);
q++;
}
//界面
cout<<" #############################################################################"<<endl;
cout<<" # #"<<endl;
cout<<" # #"<<endl;
cout<<" # ××××****************欢迎进入曼彻斯特联队*****************×××× #"<<endl;
cout<<" # #"<<endl;
cout<<" # 制作者: 贺新刚 #"<<endl;
cout<<" # 学号: 200433125242 #"<<endl;
cout<<" # 2004级软件工程4班 #"<<endl;
cout<<" # 2005年6月 #"<<endl;
cout<<" # #"<<endl;
cout<<" # 最爱红魔!!! #"<<endl;
cout<<" #############################################################################"<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
char x;
char y='M';
char mm;
bool loop=true, loop1=true, loop2=true, loop3=true, loop4=true;
string user;
cout<<"请输入您的姓名(可输入汉字):";
cin>>user;
cout<<"您好,"<<user<<"!!"<<endl;
while(loop)
{
cout<<endl;
cout<<"按1您可以查看到红魔非门将球员属性"<<endl;
cout<<"按2您可以查看到红魔门将属性"<<endl;
cout<<"按3您可以查看到红魔教练属性"<<endl;
cout<<"按4进入红魔非门将球员属性排列"<<endl;
cout<<"按0退出"<<endl;
cin>>x;
switch(x-'0')
{
case 0:
{
cout<<"欢迎您使用本程序,由于技术问题,使用不便之处,敬请原谅!"<<endl;
loop=false;
break;
}
case 1:
{
loop1=true;
do{
cout<<"1 费迪南德 R'Ferdinand"<<endl;
cout<<"2 西尔维斯特 Silvesre"<<endl;
cout<<"3 加里 内维尔 G'Neville"<<endl;
cout<<"4 海因茨 Heinz"<<endl;
cout<<"5 奥谢 O'Shea"<<endl;
cout<<"6 布朗 Brown"<<endl;
cout<<"7 菲尔 内维尔 P'Neville"<<endl;
cout<<"8 基恩 Keane"<<endl;
cout<<"9 斯科尔斯 Scholes"<<endl;
cout<<"a 吉格斯 Giggs"<<endl;
cout<<"b 小小罗纳尔多 C'Ronaldo"<<endl;
cout<<"c 福琼 Fortune"<<endl;
cout<<"d 克莱伯森 Kleberson"<<endl;
cout<<"e 弗莱彻 Fletcher"<<endl;
cout<<"f 里查德森 Richardson"<<endl;
cout<<"g 范尼斯特鲁伊 VanNistelrooy"<<endl;
cout<<"h 史密斯 A'Smith"<<endl;
cout<<"i 鲁尼 Rooney"<<endl;
cout<<endl;
cout<<"选择你想查找球员的具体数值(输入你所需球员的名字前的号码)\n请输入1~9或a~i的字符,注意如果输入字母请用小写字母(按输入Y退出):";
cin>>y;
cout<<endl;
cout<<endl;
cout<<endl;
if(y>='1' && y<='9')
{
player[y-'1']->print();
cout<<"输入Y退出,按其他键继续查看";
cin>>y;
}
if(y>='a'&&y<='i')
{
player[y-'X']->print();
cout<<"输入Y退出,按其他键继续查看";
cin>>y;
}
if(y=='y' || y=='Y')
{
loop1=false;
}
}while(loop1);
break;
}
case 2:
{
do{
cout<<"1 霍华德 Howard"<<endl;
cout<<"2 范德萨 Van_der_Sar"<<endl;
cout<<endl;
cout<<"选择你想查找门将的具体数值(输入你所需门将的名字前的号码)\n请输入1~2的字符(输入Y退出):";
cin>>y;
cout<<endl;
cout<<endl;
cout<<endl;
if(y>='1' && y<='2')
{
keeper[y-'1']->print();
cout<<"输入Y退出,按其他键继续查看";
cin>>y;
}
if(y=='y' || y=='Y')
{
loop2=false;
}
}while(loop2);
}
break;
case 3:
{
do{
cout<<"1 弗格森爵士 A'Fergirson"<<endl;
cout<<"2 小弗格森 M'Fergirson"<<endl;
cout<<"3 奎罗斯 Quelorse"<<endl;
cout<<endl;
cout<<"选择你想查找教练的具体数值(输入你所需教练的名字前的号码)\n请输入1~3的字符(输入Y退出):";
cin>>y;
cout<<endl;
cout<<endl;
cout<<endl;
if(y>='1' && y<='3')
{
coa[y-'1']->print();
cout<<"输入Y退出,按其他键继续查看";
cin>>y;
}
if(y=='y' || y=='Y')
{
loop3=false;
}
}while(loop3);
};
break;
case 4:
do{
cout<<"a 身高"<<endl;
cout<<"b 强壮"<<endl;
cout<<"c 速度"<<endl;
cout<<"d 灵活"<<endl;
cout<<"e 加速度"<<endl;
cout<<"f 平衡"<<endl;
cout<<"g 体力"<<endl;
cout<<"h 团队合作"<<endl;
cout<<"i 决心"<<endl;
cout<<"j 创造力"<<endl;
cout<<"k 勇敢"<<endl;
cout<<"l 位置感"<<endl;
cout<<"m 传球"<<endl;
cout<<"n 射球"<<endl;
cout<<"o 技术"<<endl;
cout<<"p 任意球"<<endl;
cout<<"q 盘球"<<endl;
cout<<"r 头球"<<endl;
cout<<"s 铲球"<<endl;
cout<<"t 盯人"<<endl;
cout<<"u 工作态度"<<endl;
cout<<"v 弹跳"<<endl;
cout<<"w 年龄"<<endl;
cout<<"x 工资"<<endl;
P:
cout<<"请输入a~x的字母,请注意使用小写字母:";
cin>>mm;
if(mm<'a'||mm>'x')
goto P;
switch(mm)
{
case'a':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->height;
}
}
break;
case 'b':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->strength;
}
}
break;
case'c':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->pace;
}
}
break;
case'd':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->agility;
}
}
break;
case'e':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->acceleration;
}
}
break;
case'f':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->balance;
}
}
break;
case'g':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->stamina;
}
}
break;
case'h':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->teamwork;
}
}
break;
case'i':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->determination;
}
}
break;
case'j':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->creativity;
}
}
break;
case'k':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->bravery;
}
}
break;
case'l':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->positioning;
}
}
break;
case'm':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->passing;
}
}
break;
case'n':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->shooting;
}
}
break;
case'o':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->technique;
}
}
break;
case'p':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->free_kick;
}
}
break;
case'q':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->dribbling;
}
}
break;
case'r':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->heading;
}
}
break;
case's':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->tackling;
}
}
break;
case't':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->marking;
}
}
break;
case'u':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->workrate;
}
}
break;
case'v':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->jump;
}
}
break;
case'w':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->age;
}
}
break;
case'x':
{
for(i=0; i<18; i++)
{
playername[i]=player[i]->name;
propertie[i]=player[i]->salary;;
}
}
break;
}
//排序
for(int pass=1;pass<18;pass++)
{work=1;
for(m=0; m<18-pass; m++)
if(propertie[m]<propertie[m+1])
{temp=propertie[m];propertie[m]=propertie[m+1];propertie[m+1]=temp;
aaa=playername[m];playername[m]=playername[m+1];playername[m+1]=aaa;
work=0;
}
if(work)break;
}
//输出排序结果
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"红魔提醒您:球员工资是以英镑/周为单位,身高以厘米为单位,其他属性数值最高为20,最低为1"<<endl;
cout<<"按照降序排列该属性结果如下:"<<endl;
for(i=0; i<18; i++)
{
cout<<playername[i]<<'\t'<< propertie[i]<<endl;
}
cout<<"按y键退回主界面,按其他任何键继续进入选择排序界面";
cin>>mm;
if(mm=='y' || mm=='Y')
{
loop4=false;
}
}while(loop4);
break;
default:;
{cout<<"请输入1~4的数字";
}
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -