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

📄 main.cpp

📁 曼彻斯特联队球队系统 本程序是一个以数据处理为基础的类数据库的查找软件。用户可以按程序界面上的提示查看曼彻斯特联队球员和教练的各项数值
💻 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 + -