📄 senior_member_link.cpp
字号:
//senior_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"senior_member.h"
#include"senior_member_link.h"
senior_member *insert_s(senior_member*&head_s)
{
long k;
char* str=new char;
double t;
int g;
char c;
senior_member *p,*q;
L1:cout<<"确定添加高级会员?(y/n)"<<endl;
cin>>c;
if(c=='y')
{
cout<<"请输入高级会员的编号:";
cin>>k;
cout<<"\n姓名:";
cin>>str;
cout<<"\n学费:";
cin>>t;
cout<<"\n组";
cin>>g;
senior_member *s=new senior_member(k,str,t,g);
s->set_place();
s->lever_6();
s->set_point();
((person*)s)->set_password();
s->next=NULL;
if(head_s==NULL)
{
head_s=s;return(head_s);
}
//插入表头
if(((person*)head_s)->get_number()>((person*)s)->get_number())
{
s->next=head_s;
head_s=s;
return(head_s);
}
//搜索插入
for(q=head_s,p=head_s->next;p;p=p->next)
if(((person*)p)->get_number()>((person*)s)->get_number())
{
s->next=p;
q->next=s;
return(head_s);
}
if(((person*)q)->get_number()<((person*)s)->get_number())
{
q->next=s;
return(head_s);
}
return(head_s);
}
else if(c=='n')
{return(head_s);}
else
cout<<"输入错误!"<<endl;
goto L1;
}
senior_member *del_s(senior_member*&head_s,long num)
{
senior_member *p,*q;
if(!head_s)
{
cout<<"会员资料为空!"<<endl;
return(head_s);
}
if(((person*)head_s)->get_number()==num)//被删除的是头结点
{
p=head_s;
head_s=head_s->next;
delete p;
cout<<"编号为"<<num<<"的高级会员已经被删除!"<<endl;
return (head_s);
}
for(q=head_s;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_s);
}
}
cout<<"没有编号为"<<num<<"的高级会员!"<<endl;
return(head_s);
}
senior_member *show_s1(senior_member*&head_s,long num)
{
senior_member *p;
if(!head_s)
{
cout<<"会员资料为空!"<<endl;
return(head_s);
}
if(((person*)head_s)->get_number()==num)
{
((person*)head_s)->person::print();
return(head_s);
}
for(p=head_s;p;p=p->next)
{
if(((person*)p)->get_number()==num)
{
((person*)p)->person::print();
delete p;
return (head_s);
}
}
cout<<"没有编号为"<<num<<"的高级会员!"<<endl;
return(head_s);
}
senior_member *show_s2(senior_member*&head_s,long num)
{
senior_member *p;
int w;
if(!head_s)
{
cout<<"资料为空!"<<endl;
return (head_s);
}
if(((person*)head_s)->get_number()==num)
{
cout<<"请输入密码:"<<endl;
cin>>w;
if(((person*)head_s)->get_password()==w)
{
head_s->print();
return(head_s);
}
for(p=head_s;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_s);
}
}
}
cout<<"没有编号为"<<num<<"的高级会员!"<<endl;
return(head_s);
}
return(head_s);
}
senior_member *change_s(senior_member*&head_s,long num)
{
senior_member *p;
int n;
if(!head_s)
{
cout<<"资料为空!"<<endl;
return (head_s);
}
if(((person*)head_s)->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_s)->reset_number());break;
case 2:(((person*)head_s)->reset_name());break;
case 3:(((senior_member*)head_s)->reset_tuition());break;
case 4:(((senior_member*)head_s)->reset_group());break;
case 5:(((senior_member*)head_s)->reset_point());break;
case 6:(((senior_member*)head_s)->set_place());break;
case 7:(((senior_member*)head_s)->lever_6());break;
}
return(head_s);
}
for(p=head_s;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:(((senior_member*)p)->reset_tuition());break;
case 4:(((senior_member*)p)->reset_group());break;
case 5:(((senior_member*)p)->reset_point());break;
case 6:(((senior_member*)p)->set_place());break;
case 7:(((senior_member*)p)->lever_6());break;
}
return(head_s);
}
cout<<"对不起,没有编号为"<<num<<"的高级会员!"<<endl;
return(head_s);
}
return(head_s);
}
senior_member *reset_password_s(senior_member *&head_s,long num)
{senior_member *p;
int w;
if(!head_s)
{cout<<"对不起,资料为空!\n";return(head_s);}
if(((person*)head_s)->get_number()==num)
{cout<<"请输入原密码!"<<endl;
cin>>w;
if(((person*)head_s)->get_password()==w)
{((person*)head_s)->set_password();
return(head_s);}
}
for(p=head_s;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_s);}
}
}
cout<<"对不起,没有编号为"<<num<<"的高级会员!"<<endl;
return(head_s);
}
void show_s(senior_member *head_s)
{
if(!head_s)
{cout<<"对不起,资料为空!\n";}
else
{cout<<"所有高级会员的资料如下:"<<endl;
while(head_s)
{cout<<"编号:"<<((person*)head_s)->get_number()<<" ";
cout<<"姓名:"<<((person*)head_s)->get_name()<<endl;
cout<<"学费:"<<((member*)head_s)->get_tuition()<<endl;
cout<<"积分:"<<((senior_member*)head_s)->get_point()<<endl;
cout<<"个人密码:"<<((person*)head_s)->get_password()<<endl;
cout<<"训练地点在";
switch(((senior_member*)head_s)->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<<"属于第"<<((senior_member*)head_s)->get_group()<<"组"<<endl;
if(head_s->get_t())
{cout<<"已通过高尔夫业余六级!"<<endl;}
cout<<endl;
head_s=head_s->next;
}
}
}
void set_file_s(senior_member *head_s)
{
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_s)
{outstuf<<"对不起,资料为空!\n";}
else
{cout<<"所有高级会员的资料如下:"<<endl;
while(head_s)
{outstuf<<"编号:"<<((person*)head_s)->get_number()<<" ";
outstuf<<"姓名:"<<((person*)head_s)->get_name()<<endl;
outstuf<<"学费:"<<((member*)head_s)->get_tuition()<<endl;
outstuf<<"积分:"<<((senior_member*)head_s)->get_point()<<endl;
outstuf<<"个人密码:"<<((person*)head_s)->get_password()<<endl;
outstuf<<"训练地点在";
switch(((senior_member*)head_s)->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<<"属于第"<<((senior_member*)head_s)->get_group()<<"组"<<endl;
if(head_s->get_t())
{outstuf<<"已通过高尔夫业余六级!"<<endl;}
outstuf<<endl;
head_s=head_s->next;
}
}
}
int Append_s(senior_member *head_s,char *fileName)
{
ofstream outstuf(fileName,ios::app);
if(!outstuf)
{cerr<<"File could not be open."<<endl;
return 0;
}
while(head_s)
{outstuf<<"编号:"<<((person*)head_s)->get_number()<<" ";
outstuf<<"姓名:"<<((person*)head_s)->get_name()<<endl;
outstuf<<"学费:"<<((member*)head_s)->get_tuition()<<endl;
outstuf<<"积分:"<<((senior_member*)head_s)->get_point()<<endl;
outstuf<<"个人密码:"<<((person*)head_s)->get_password()<<endl;
outstuf<<"训练地点在";
switch(((senior_member*)head_s)->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<<"属于第"<<((senior_member*)head_s)->get_group()<<"组"<<endl;
if(head_s->get_t())
{outstuf<<"已通过高尔夫业余六级!"<<endl;}
outstuf<<endl;
head_s=head_s->next;
}
outstuf.close();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -