?? junior_member_link.cpp
字號(hào):
//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<<"確定要添加初級(jí)會(huì)員?(y/n)"<<endl;
cin>>e;
if(e=='y')
{
cout<<"請(qǐng)輸入初級(jí)會(huì)員的編號(hào):";
cin>>a;
cout<<"\n姓名:";
cin>>b;
cout<<"\n學(xué)費(fèi):";
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<<"輸入錯(cuò)誤!"<<endl;
goto L0;
}
junior_member *del_j(junior_member*&head_j,long num)
{
junior_member *p,*q;
if(!head_j)
{
cout<<"會(huì)員資料為空!"<<endl;
return(head_j);
}
if(((person*)head_j)->get_number()==num)//被刪除的是頭結(jié)點(diǎn)
{
p=head_j;
head_j=head_j->next;
delete p;
cout<<"編號(hào)為"<<num<<"的初級(jí)會(huì)員已經(jīng)被刪除!"<<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<<"編號(hào)為"<<num<<"的初級(jí)會(huì)員已經(jīng)被刪除!"<<endl;
return (head_j);
}
}
cout<<"沒(méi)有編號(hào)為"<<num<<"的初級(jí)會(huì)員!"<<endl;
return(head_j);
}
junior_member *show_j1(junior_member*&head_j,long num)
{
junior_member *p;
if(!head_j)
{
cout<<"會(huì)員資料為空!"<<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<<"沒(méi)有編號(hào)為"<<num<<"的初級(jí)會(huì)員!"<<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<<"請(qǐng)輸入密碼:"<<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<<"請(qǐng)輸入密碼:"<<endl;
cin>>w;
if(((person*)p)->get_password()==w)
{
p->print();
delete p;
return(head_j);
}
}
}
cout<<"沒(méi)有編號(hào)為"<<num<<"的初級(jí)會(huì)員!"<<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<<"*********^^請(qǐng)選擇^^*********"<<endl;
cout<<"* 1.修改編號(hào) *"<<endl;
cout<<"* 2.修改姓名 *"<<endl;
cout<<"* 3.修改學(xué)費(fèi) *"<<endl;
cout<<"* 4.修改所屬組 *"<<endl;
cout<<"* 5.修改積分 *"<<endl;
cout<<"* 6.修改訓(xùn)練地點(diǎn) *"<<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<<"*********^^請(qǐng)選擇^^*********"<<endl;
cout<<"* 1.修改編號(hào) *"<<endl;
cout<<"* 2.修改姓名 *"<<endl;
cout<<"* 3.修改學(xué)費(fèi) *"<<endl;
cout<<"* 4.修改所屬組 *"<<endl;
cout<<"* 5.修改積分 *"<<endl;
cout<<"* 6.修改訓(xùn)練地點(diǎn) *"<<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<<"對(duì)不起,沒(méi)有編號(hào)為"<<num<<"的初級(jí)會(huì)員!"<<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<<"對(duì)不起,資料為空!\n";return(head_j);}
if(((person*)head_j)->get_number()==num)
{cout<<"請(qǐng)輸入原密碼!"<<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<<"請(qǐng)輸入原密碼!"<<endl;
cin>>w;
if(((person*)p)->get_password()==w)
{((person*)p)->set_password();
delete p;
return(head_j);}
}
}
cout<<"對(duì)不起,沒(méi)有編號(hào)為"<<num<<"的初級(jí)會(huì)員!"<<endl;
return(head_j);
}
void show_j(junior_member *head_j)
{
if(!head_j)
{cout<<"對(duì)不起,資料為空!\n";}
else
{cout<<"所有初級(jí)會(huì)員的資料如下:"<<endl;
while(head_j)
{cout<<"編號(hào):"<<((person*)head_j)->get_number()<<" ";
cout<<"姓名:"<<((person*)head_j)->get_name()<<endl;
cout<<"學(xué)費(fèi):"<<((member*)head_j)->get_tuition()<<endl;
cout<<"積分:"<<((junior_member*)head_j)->get_point()<<endl;
cout<<"個(gè)人密碼:"<<((person*)head_j)->get_password()<<endl;
cout<<"訓(xùn)練地點(diǎn)在";
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<<"華工番禺高爾夫球場(chǎng)"<<endl;break;
case 7:cout<<"天河軟件園高爾夫練習(xí)場(chǎng)"<<endl;break;
}
cout<<"屬于第"<<((junior_member*)head_j)->get_group()<<"組"<<endl;
if(head_j->get_n())
{cout<<"已通過(guò)高爾夫業(yè)余四級(jí)!"<<endl;}
cout<<endl;
head_j=head_j->next;
}
}
}
void set_file_j(junior_member *head_j)
{
char fileName[30];
ofstream outstuf;
cout<<"請(qǐng)輸入初級(jí)會(huì)員的文本文件名:"<<endl;
cin>>fileName;
outstuf.open(fileName,ios::out);
if(!outstuf)
{cerr<<"File could not be open."<<endl;
abort();
}
outstuf<<"初級(jí)會(huì)員的資料如下:\n";
if(!head_j)
{outstuf<<"對(duì)不起,資料為空!\n";}
else
while(head_j)
{outstuf<<"編號(hào):"<<((person*)head_j)->get_number()<<" ";
outstuf<<"姓名:"<<((person*)head_j)->get_name()<<endl;
outstuf<<"學(xué)費(fèi):"<<((member*)head_j)->get_tuition()<<endl;
outstuf<<"積分:"<<((junior_member*)head_j)->get_point()<<endl;
outstuf<<"個(gè)人密碼:"<<((person*)head_j)->get_password()<<endl;
outstuf<<"訓(xùn)練地點(diǎn)在";
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<<"華工番禺高爾夫球場(chǎng)"<<endl;break;
case 7:outstuf<<"天河軟件園高爾夫練習(xí)場(chǎng)"<<endl;break;
}
outstuf<<"屬于第"<<((junior_member*)head_j)->get_group()<<"組"<<endl;
if(head_j->get_n())
{outstuf<<"已通過(guò)高爾夫業(yè)余四級(jí)!"<<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<<"編號(hào):"<<((person*)head_j)->get_number()<<" ";
outstuf<<"姓名:"<<((person*)head_j)->get_name()<<endl;
outstuf<<"學(xué)費(fèi):"<<((member*)head_j)->get_tuition()<<endl;
outstuf<<"積分:"<<((junior_member*)head_j)->get_point()<<endl;
outstuf<<"個(gè)人密碼:"<<((person*)head_j)->get_password()<<endl;
outstuf<<"訓(xùn)練地點(diǎn)在";
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<<"華工番禺高爾夫球場(chǎng)"<<endl;break;
case 7:outstuf<<"天河軟件園高爾夫練習(xí)場(chǎng)"<<endl;break;
}
outstuf<<"屬于第"<<((junior_member*)head_j)->get_group()<<"組"<<endl;
if(head_j->get_n())
{outstuf<<"已通過(guò)高爾夫業(yè)余四級(jí)!"<<endl;}
outstuf<<endl;
head_j=head_j->next;
}
outstuf.close();
return 1;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -