?? 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 + -