?? student.h
字號:
#include<iostream.h>
struct Student //學生資料
{
double No;
char Name[20];
int Birthday;
char Sex[4];
char TelNo[20];
char Address[100];
};
struct STLinkNode //鏈結點
{
Student data;
STLinkNode *next;
};
class STLinkList //鏈
{
public:
STLinkNode *head,*tail,*currptr;
STLinkList()
{
head=tail=currptr=new STLinkNode;
currptr->next=NULL;
}
void InsterHead(Student x);
void InsterTail(Student x);
void Del(int n);
void Output(int n);
void Output();
};
//頭插入
void STLinkList::InsterHead(Student x)
{
currptr=new STLinkNode;
currptr->data=x;
currptr->next=head->next;
head->next=currptr;
if(tail->next==currptr)
tail=currptr;
}
//尾插入
void STLinkList::InsterTail(Student x)
{
currptr=new STLinkNode;
currptr->next=NULL;
currptr->data=x;
tail->next=currptr;
tail=currptr;
}
//刪除結點
void STLinkList::Del(int n)
{
STLinkNode *p;
currptr=head->next;
p=head;
while(currptr!=NULL&&currptr->data.No!=n)
{
p=p->next;
currptr=currptr->next;
}
if(currptr==NULL)
cout<<"沒有此號的學生!"<<endl;
else
{
p->next=currptr->next;
currptr->next=NULL;
delete currptr;
}
}
//輸出學生
void STLinkList::Output(int n)
{
currptr=head->next;
while(currptr!=NULL&&currptr->data.No!=n)
currptr=currptr->next;
if(currptr==NULL)
cout<<"沒有此號的學生!"<<endl;
else
{
cout<<"****************************************************************"<<endl;
cout<<"該學生的信息如下:"<<endl;
cout<<"學號:"<<currptr->data.No<<endl;
cout<<"姓名:"<<currptr->data.Name<<endl;
cout<<"性別:"<<currptr->data.Sex<<endl;
cout<<"出生日期:"<<currptr->data.Birthday<<endl;
cout<<"電話號碼:"<<currptr->data.TelNo<<endl;
cout<<"地址:"<<currptr->data.Address<<endl;
cout<<"****************************************************************"<<endl;
}
}
//輸出內容
void STLinkList::Output()
{
cout<<" 學生通信錄"<<endl;
currptr=head->next;
while(currptr!=NULL)
{
cout<<"****************************************************************"<<endl;
cout<<"學號:"<<currptr->data.No<<endl;
cout<<"姓名:"<<currptr->data.Name<<endl;
cout<<"性別:"<<currptr->data.Sex<<endl;
cout<<"出生日期:"<<currptr->data.Birthday<<endl;
cout<<"電話號碼:"<<currptr->data.TelNo<<endl;
cout<<"地址:"<<currptr->data.Address<<endl;
currptr=currptr->next;
}
cout<<"****************************************************************"<<endl;
}
void ma(STLinkList &A)
{
Student ST1={05601,"柴小坤",86,"男","020-85215414","華南師范大學西二414"};
A.InsterTail(ST1);
Student ST2={05602,"鄭謝生",86,"男","020-58215414","華南師范大學西二414"};
A.InsterTail(ST2);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -