📄 junior_member_link.cpp
字号:
//junior_member_link.cpp
#include<iostream.h>
#include<string.h>
#include<fstream.h>
#include<stdlib.h>
#include<assert.h>
#include"person.h"
#include"member.h"
#include"junior_member.h"
#include"junior_member_link.h"
junior_member *insert_j(junior_member *&head_j)
{
long a;
char *b=new char;
double c;
int d;
char e;
junior_member *p,*q;
L0:cout<<"确定要添加初级会员?(y/n)"<<endl;
cin>>e;
if(e=='y')
{
cout<<"请输入初级会员的编号:";
cin>>a;
cout<<"\n姓名:";
cin>>b;
cout<<"\n学费:";
cin>>c;
cout<<"\n组";
cin>>d;
junior_member *j=new junior_member(a,b,c,d);
j->set_place();
j->lever_4();
j->set_point();
((person*)j)->set_password();
j->next=NULL;
if(head_j==NULL)
{
head_j=j;return(head_j);
}
//插入表头
if(((person*)head_j)->get_number()>((person*)j)->get_number())
{
j->next=head_j;
head_j=j;
return(head_j);
}
//搜索插入
for(q=head_j,p=head_j->next;p;p=p->next)
if(((person*)p)->get_number()>((person*)j)->get_number())
{
j->next=p;
q->next=j;
return(head_j);
}
if(((person*)q)->get_number()<((person*)j)->get_number())
{
q->next=j;
return(head_j);
}
return(head_j);
}
else if(e=='n')
{return(head_j);}
else
cout<<"输入错误!"<<endl;
goto L0;
}
junior_member *del_j(junior_member*&head_j,long num)
{
junior_member *p,*q;
if(!head_j)
{
cout<<"会员资料为空!"<<endl;
return(head_j);
}
if(((person*)head_j)->get_number()==num)//被删除的是头结点
{
p=head_j;
head_j=head_j->next;
delete p;
cout<<"编号为"<<num<<"的初级会员已经被删除!"<<endl;
return (head_j);
}
for(q=head_j;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_j);
}
}
cout<<"没有编号为"<<num<<"的初级会员!"<<endl;
return(head_j);
}
junior_member *show_j1(junior_member*&head_j,long num)
{
junior_member *p;
if(!head_j)
{
cout<<"会员资料为空!"<<endl;
return(head_j);
}
if(((person*)head_j)->get_number()==num)
{
((person*)head_j)->person::print();
return(head_j);
}
for(p=head_j;p;p=p->next)
{
if(((person*)p)->get_number()==num)
{
((person*)p)->person::print();
delete p;
return (head_j);
}
}
cout<<"没有编号为"<<num<<"的初级会员!"<<endl;
return(head_j);
}
junior_member *show_j2(junior_member*&head_j,long num)
{
junior_member *p;
int w;
if(!head_j)
{
cout<<"资料为空!"<<endl;
return (head_j);
}
if(((person*)head_j)->get_number()==num)
{
cout<<"请输入密码:"<<endl;
cin>>w;
if(((person*)head_j)->get_password()==w)
{
head_j->print();
return(head_j);
}
for(p=head_j;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_j);
}
}
}
cout<<"没有编号为"<<num<<"的初级会员!"<<endl;
return(head_j);
}
return(head_j);
}
junior_member *change_j(junior_member*&head_j,long num)
{
junior_member *p;
int n;
if(!head_j)
{
cout<<"资料为空!"<<endl;
return (head_j);
}
if(((person*)head_j)->get_number()==num)
{
cout<<"*********^^请选择^^*********"<<endl;
cout<<"* 1.修改编号 *"<<endl;
cout<<"* 2.修改姓名 *"<<endl;
cout<<"* 3.修改学费 *"<<endl;
cout<<"* 4.修改所属组 *"<<endl;
cout<<"* 5.修改积分 *"<<endl;
cout<<"* 6.修改训练地点 *"<<endl;
cout<<"* 7.修改水平 *"<<endl;
cout<<"****************************"<<endl;
cin>>n;
switch(n)
{
case 1:(((person*)head_j)->reset_number());break;
case 2:(((person*)head_j)->reset_name());break;
case 3:(((member*)head_j)->reset_tuition());break;
case 4:(((junior_member*)head_j)->reset_group());break;
case 5:(((junior_member*)head_j)->reset_point());break;
case 6:(((junior_member*)head_j)->set_place());break;
case 7:(((junior_member*)head_j)->lever_4());break;
}
return(head_j);
}
for(p=head_j;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<<"* 6.修改训练地点 *"<<endl;
cout<<"* 7.修改水平 *"<<endl;
cout<<"****************************"<<endl;
cin>>n;
switch(n)
{
case 1:(((person*)p)->reset_number());break;
case 2:(((person*)p)->reset_name());break;
case 3:(((member*)p)->reset_tuition());break;
case 4:(((junior_member*)p)->reset_group());break;
case 5:(((junior_member*)p)->reset_point());break;
case 6:(((junior_member*)p)->set_place());break;
case 7:(((junior_member*)p)->lever_4());break;
}
return(head_j);
}
cout<<"对不起,没有编号为"<<num<<"的初级会员!"<<endl;
return(head_j);
}
return(head_j);
}
junior_member *reset_password_j(junior_member *&head_j,long num)
{junior_member *p;
int w;
if(!head_j)
{cout<<"对不起,资料为空!\n";return(head_j);}
if(((person*)head_j)->get_number()==num)
{cout<<"请输入原密码!"<<endl;
cin>>w;
if(((person*)head_j)->get_password()==w)
{((person*)head_j)->set_password();
return(head_j);}
}
for(p=head_j;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_j);}
}
}
cout<<"对不起,没有编号为"<<num<<"的初级会员!"<<endl;
return(head_j);
}
void show_j(junior_member *head_j)
{
if(!head_j)
{cout<<"对不起,资料为空!\n";}
else
{cout<<"所有初级会员的资料如下:"<<endl;
while(head_j)
{cout<<"编号:"<<((person*)head_j)->get_number()<<" ";
cout<<"姓名:"<<((person*)head_j)->get_name()<<endl;
cout<<"学费:"<<((member*)head_j)->get_tuition()<<endl;
cout<<"积分:"<<((junior_member*)head_j)->get_point()<<endl;
cout<<"个人密码:"<<((person*)head_j)->get_password()<<endl;
cout<<"训练地点在";
switch(((junior_member*)head_j)->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<<"属于第"<<((junior_member*)head_j)->get_group()<<"组"<<endl;
if(head_j->get_n())
{cout<<"已通过高尔夫业余四级!"<<endl;}
cout<<endl;
head_j=head_j->next;
}
}
}
void set_file_j(junior_member *head_j)
{
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_j)
{outstuf<<"对不起,资料为空!\n";}
else
while(head_j)
{outstuf<<"编号:"<<((person*)head_j)->get_number()<<" ";
outstuf<<"姓名:"<<((person*)head_j)->get_name()<<endl;
outstuf<<"学费:"<<((member*)head_j)->get_tuition()<<endl;
outstuf<<"积分:"<<((junior_member*)head_j)->get_point()<<endl;
outstuf<<"个人密码:"<<((person*)head_j)->get_password()<<endl;
outstuf<<"训练地点在";
switch(((junior_member*)head_j)->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<<"属于第"<<((junior_member*)head_j)->get_group()<<"组"<<endl;
if(head_j->get_n())
{outstuf<<"已通过高尔夫业余四级!"<<endl;}
outstuf<<endl;
head_j=head_j->next;
}
}
int Append_j(junior_member *head_j,char *fileName)
{
ofstream outstuf(fileName,ios::app);
if(!outstuf)
{cerr<<"File could not be open."<<endl;
return 0;
}
while(head_j)
{outstuf<<"编号:"<<((person*)head_j)->get_number()<<" ";
outstuf<<"姓名:"<<((person*)head_j)->get_name()<<endl;
outstuf<<"学费:"<<((member*)head_j)->get_tuition()<<endl;
outstuf<<"积分:"<<((junior_member*)head_j)->get_point()<<endl;
outstuf<<"个人密码:"<<((person*)head_j)->get_password()<<endl;
outstuf<<"训练地点在";
switch(((junior_member*)head_j)->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<<"属于第"<<((junior_member*)head_j)->get_group()<<"组"<<endl;
if(head_j->get_n())
{outstuf<<"已通过高尔夫业余四级!"<<endl;}
outstuf<<endl;
head_j=head_j->next;
}
outstuf.close();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -