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

📄 coach_link.cpp

📁 高尔夫俱乐部人员管理系统
💻 CPP
字号:
//coach_link.cpp
#include<iostream.h>
#include<string.h>
#include<fstream.h>
#include<stdlib.h>
#include<assert.h>
#include"person.h"
#include"coach.h"

coach *insert_c(coach*&head_c)
{
	long k;
    char* str=new char;
    double s;
	char c;
	coach *p,*q;
    L2:cout<<"确定添加教练?(y/n)"<<endl;
	cin>>c;
	if(c=='y')
	{
		cout<<"请输入教练的编号:";
		cin>>k;
		cout<<"\n姓名:";
		cin>>str;
		cout<<"\n薪水:";
		cin>>s;
		coach *c=new coach(k,str,s);
		c->set_place();
		c->set_lead_group();
		((person*)c)->set_password();
		c->next=NULL;
		if(head_c==NULL)
		{
			head_c=c;return(head_c);
		}
		//插入表头
		if(((person*)head_c)->get_number()>((person*)c)->get_number())
		{
			c->next=head_c;
			head_c=c;
			return(head_c);
		}
		//搜索插入
		for(q=head_c,p=head_c->next;p;p=p->next)
		if(((person*)p)->get_number()>((person*)c)->get_number())
		{
			c->next=p;
			q->next=c;
			return(head_c);
		}
        if(((person*)q)->get_number()<((person*)c)->get_number())
		{
			q->next=c;
			return(head_c);
		}
		return(head_c);
	}
	else if(c=='n')
	{return(head_c);}
	else
		cout<<"输入错误!"<<endl;
	goto L2;
}

coach *del_c(coach*&head_c,long num)
{
	coach *p,*q;
	if(!head_c)
	{
		cout<<"教练资料为空!"<<endl;
		return(head_c);
	}
	if(((person*)head_c)->get_number()==num)//被删除的是头结点
	{
		p=head_c;
		head_c=head_c->next;
		delete p;
		cout<<"编号为"<<num<<"的教练已经被删除!"<<endl;
		return (head_c);
	}
	for(q=head_c;q->next;q=q->next)
	{
		if(((person*)(q->next))->get_number()==num)
		{p=q->next;
		q->next=p->next;
		delete p;
		cout<<"编号为"<<num<<"的教练已经被删除!"<<endl;
		return (head_c);
		}
	}
	cout<<"没有编号为"<<num<<"的教练!"<<endl;
	return(head_c);
}

coach *show_c1(coach*&head_c,long num)
{
    coach *p;
	if(!head_c)
	{
		cout<<"教练资料为空!"<<endl;
		return(head_c);
	}
    if(((person*)head_c)->get_number()==num)
	{
		((person*)head_c)->person::print();
	  return(head_c);
	}
    for(p=head_c;p;p=p->next)
	{
		if(((person*)p)->get_number()==num)
		{
			((person*)p)->person::print();
			delete p;
			return (head_c);
		}
	}
	cout<<"没有编号为"<<num<<"的教练!"<<endl;
	return(head_c);
}

coach *show_c2(coach*&head_c, long num)
{
	coach *p;
	int w;
	if(!head_c)
	{
		cout<<"教练资料为空!"<<endl;
		return (head_c);
	}
	if(((person*)head_c)->get_number()==num)
	{
		cout<<"请输入密码:"<<endl;
		cin>>w;
		if(((person*)head_c)->get_password()==w)
		{
			head_c->print();
			return(head_c);
		}

		for(p=head_c;p;p=p->next)
		{
			if(((person*)p)->get_password()==w)
			{
               cout<<"请输入密码:"<<endl;
		       cin>>w;
		       if(((person*)p)->get_password()==w)
			   {
			      p->print();
				  delete p;
			      return(head_c);
			   }
			}
		}
		cout<<"没有编号为"<<num<<"的教练!"<<endl;
		return(head_c);
	}
	return(head_c);
}


coach *change_c(coach*&head_c,long num)
{
	coach *p;
	int n;
	if(!head_c)
	{
		cout<<"教练资料为空!"<<endl;
		return (head_c);
	}
    if(((person*)head_c)->get_number()==num)
	{
		cout<<"*********^^请选择^^*********"<<endl;
		cout<<"*       1.修改编号         *"<<endl;
		cout<<"*       2.修改姓名         *"<<endl;
		cout<<"*       3.修改薪水         *"<<endl;
		cout<<"*       4.修改所带组       *"<<endl;
		cout<<"*       5.修改授课地点     *"<<endl;
		cout<<"****************************"<<endl;
		cin>>n;
		switch(n)
		{
		case 1:(((person*)head_c)->reset_number());break;
		case 2:(((person*)head_c)->reset_name());break;
		case 3:(((coach*)head_c)->reset_salary());break;
		case 4:(((coach*)head_c)->set_lead_group());break;
		case 5:(((coach*)head_c)->set_place());break;
		}
		return(head_c);
	}

	for(p=head_c;p;p=p->next)
	{int n;
		if(((person*)p)->get_number()==num)
		{
		cout<<"*********^^请选择^^*********"<<endl;
		cout<<"*       1.修改编号         *"<<endl;
		cout<<"*       2.修改姓名         *"<<endl;
		cout<<"*       3.修改薪水         *"<<endl;
		cout<<"*       4.修改所带组       *"<<endl;
		cout<<"*       5.修改授课地点     *"<<endl;
		cout<<"****************************"<<endl;
		cin>>n;
		switch(n)
		{
		case 1:(((person*)head_c)->reset_number());break;
		case 2:(((person*)head_c)->reset_name());break;
		case 3:(((coach*)head_c)->reset_salary());break;
		case 4:(((coach*)head_c)->set_lead_group());break;
		case 5:(((coach*)head_c)->set_place());break;
		}
		return(head_c);
	}
		cout<<"对不起,没有编号为"<<num<<"的教练!"<<endl;
		return(head_c);
	}
	return(head_c);
}


coach *reset_password_c(coach *&head_c,long num)
{coach *p;
int w;
if(!head_c)
{cout<<"对不起,资料为空!\n";return(head_c);}
if(((person*)head_c)->get_number()==num)
{cout<<"请输入原密码!"<<endl;
cin>>w;
if(((person*)head_c)->get_password()==w)
{((person*)head_c)->set_password();
return(head_c);}
}
for(p=head_c;p;p=p->next)
{if(((person*)p)->get_number()==num)
{cout<<"请输入原密码!"<<endl;
cin>>w;
if(((person*)p)->get_password()==w)
{((person*)p)->set_password();
delete p;
return(head_c);}
}
}
cout<<"对不起,没有编号为"<<num<<"的教练!"<<endl;
return(head_c);
}


void show_c(coach *head_c)
{
	if(!head_c)
	{cout<<"对不起,教练资料为空!\n";}
    else
	{cout<<"所有教练的资料如下:"<<endl;
    while(head_c)
	{cout<<"编号:"<<((person*)head_c)->get_number()<<" ";
     cout<<"姓名:"<<((person*)head_c)->get_name()<<endl;
     cout<<"薪水:"<<((coach*)head_c)->get_salary()<<endl;
     cout<<"个人密码:"<<((person*)head_c)->get_password()<<endl;
     cout<<"授课地点在";
     switch(((coach*)head_c)->get_d())
	 {case 1:cout<<"北湖"<<endl;break;
      case 2:cout<<"东湖"<<endl;break;
      case 3:cout<<"西湖"<<endl;break;
      case 4:cout<<"南湖"<<endl;break;
      case 5:cout<<"广州体育中心"<<endl;break;
      case 6:cout<<"华工番禺高尔夫球场"<<endl;break;
      case 7:cout<<"天河软件园高尔夫练习场"<<endl;break;
	 }
     cout<<"带领第"<<((coach*)head_c)->get_lead_group()<<"组"<<endl;
     cout<<endl;
     head_c=head_c->next;
	}
}
}



void set_file_c(coach *head_c)
{
	char fileName[30];
    ofstream outstuf;
    cout<<"请输入教练的文本文件名:"<<endl;
    cin>>fileName;
    outstuf.open(fileName,ios::out);
    if(!outstuf)
	{cerr<<"File could not be open."<<endl;
    abort();
	}
    outstuf<<"教练的资料如下:\n";
    if(!head_c)
	{outstuf<<"对不起,教练资料为空!\n";}
    else
    while(head_c)
	{outstuf<<"编号:"<<((person*)head_c)->get_number()<<" ";
     outstuf<<"姓名:"<<((person*)head_c)->get_name()<<endl;
     outstuf<<"薪水:"<<((coach*)head_c)->get_salary()<<endl;
     outstuf<<"个人密码:"<<((person*)head_c)->get_password()<<endl;
     outstuf<<"授课地点在";
     switch(((coach*)head_c)->get_d())
	 {case 1:outstuf<<"北湖"<<endl;break;
      case 2:outstuf<<"东湖"<<endl;break;
      case 3:outstuf<<"西湖"<<endl;break;
      case 4:outstuf<<"南湖"<<endl;break;
      case 5:outstuf<<"广州体育中心"<<endl;break;
      case 6:outstuf<<"华工番禺高尔夫球场"<<endl;break;
      case 7:outstuf<<"天河软件园高尔夫练习场"<<endl;break;
	 }
     outstuf<<"带领第"<<((coach*)head_c)->get_lead_group()<<"组"<<endl;
	 outstuf<<endl;
     head_c=head_c->next;
	}   
}


int Append_c(coach *head_c,char *fileName)
{
	ofstream outstuf(fileName,ios::app);
    if(!outstuf)
	{cerr<<"File could not be open."<<endl;
    return 0;
	}
    while(head_c)
	{outstuf<<"编号:"<<((person*)head_c)->get_number()<<" ";
     outstuf<<"姓名:"<<((person*)head_c)->get_name()<<endl;
     outstuf<<"薪水:"<<((coach*)head_c)->get_salary()<<endl;
     outstuf<<"个人密码:"<<((person*)head_c)->get_password()<<endl;
     outstuf<<"授课地点在";
     switch(((coach*)head_c)->get_d())
	 {case 1:outstuf<<"北湖"<<endl;break;
      case 2:outstuf<<"东湖"<<endl;break;
      case 3:outstuf<<"西湖"<<endl;break;
      case 4:outstuf<<"南湖"<<endl;break;
      case 5:outstuf<<"广州体育中心"<<endl;break;
      case 6:outstuf<<"华工番禺高尔夫球场"<<endl;break;
      case 7:outstuf<<"天河软件园高尔夫练习场"<<endl;break;
	 }
     outstuf<<"带领第"<<((coach*)head_c)->get_lead_group()<<"组"<<endl;
	 outstuf<<endl;
     head_c=head_c->next;
	}   
outstuf.close();
return 1;
}




	

		









		






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -