//对FlightInfo.h所有类中函数的实现
#include"FlightInfo.h"
//PsgOn中的函数的实现
PsgOn::PsgOn(char N[20],const int B,const int R,PsgOn *Ne)
{ for(int i=0;i<=20;i++)
{
Name[i]=N[i];
}
Booknum=B;Rank=R;next=Ne;
}
PsgOn::PsgOn(PsgOn *Ne)
{ next=Ne; }
//POList中的函数的实现
void POList::init()
{
fence=tail=head=new PsgOn;
leftcnt=rightcnt=0;
}
POList::POList(int size){ init(); }
bool POList::insert(char N[20],const int B,const int R)
{
fence->next=new PsgOn(N,B,R,fence->next);
if(tail==fence)tail=fence->next;
rightcnt++;
return true;
}
bool POList::append(char N[20],const int B,const int R)
{
tail=tail->next=new PsgOn(N,B,R,NULL);
rightcnt++;
return true;
}
bool POList::remove(char *N,int &B)
{
if(fence->next==NULL)return false;
N=fence->next->Name;B=fence->next->Booknum;
PsgOn *ltemp=fence->next;
fence->next=ltemp->next;
if(tail==ltemp)tail=fence;
delete ltemp;
rightcnt--; //减去此人的订票额
return true;
}
void POList::setStart()
{ fence=head;rightcnt+=leftcnt;leftcnt=0;}
void POList::setEnd()
{ fence=tail;leftcnt+=rightcnt;rightcnt=0;}
void POList::prev()
{
PsgOn *temp=head;
if(fence==head)return;
while(temp->next!=fence)temp=temp->next;
fence=temp;
leftcnt--;rightcnt++;
}
void POList::next()
{
if(fence!=tail)
{fence=fence->next;rightcnt--;leftcnt++;}
}
int POList::leftLength()const
{return leftcnt;}
int POList::rightLength()const
{return rightcnt;}
bool POList::gerValue(char *N,int &B,int &R)const
{
if(rightLength()==0)return false;
N=fence->next->Name;B=fence->next->Booknum;R=fence->next->Rank;
return true;
}
//PsgWait中的函数的实现
PsgWait::PsgWait(char N[20],const int D,PsgWait *Ne)
{ for(int i=0;i<=20;i++)
{
Name[i]=N[i];
}
Need=D;next=Ne;
}
PsgWait::PsgWait(PsgWait *Ne)
{ next=Ne; }
//PWList中的函数的实现
void PWList::init()
{
fence=tail=head=new PsgWait;
leftcnt=rightcnt=0;
}
PWList::PWList(int size){ init(); }
bool PWList::insert(char N[20],const int D)
{
fence->next=new PsgWait(N,D,fence->next);
if(tail==fence)tail=fence->next;
rightcnt++;
return true;
}
bool PWList::append(char N[20],const int D)
{
tail=tail->next=new PsgWait(N,D,NULL);
rightcnt++;
return true;
}
bool PWList::remove(char *N)
{
if(fence->next ==NULL)return false;
N=fence->next->Name;
PsgWait *ltemp=fence->next;
fence->next=ltemp->next;
if(tail==ltemp)tail=fence;
delete ltemp;
rightcnt--;
return true;
}
void PWList::setStart()
{ fence=head;rightcnt+=leftcnt;leftcnt=0;}
void PWList::setEnd()
{ fence=tail;leftcnt+=rightcnt;rightcnt=0;}
void PWList::prev()
{
PsgWait *temp=head;
if(fence==head)return;
while(temp->next!=fence)temp=temp->next;
fence=temp;
leftcnt--;rightcnt++;
}
bool PWList::next()
{
if(fence!=tail)
{fence=fence->next;leftcnt++;rightcnt--;return true;}
else return false;
}
int PWList::leftLength()const
{ return leftcnt;}
int PWList::rightLength()const
{ return rightcnt;}
bool PWList::gerValue(char *N,int &D)const
{
if(rightLength()==0)return false;
N=fence->next->Name;D=fence->next->Need;
return true;
}
FlightNode::FlightNode(char T[20],const int F,const int P,const int D,const int M,const int L)
{ for(int i=0;i<=20;i++)
{
Terminus[i]=T[i];
}
Flight=F;Plane=P;Day=D;Maxnum=M;Left=L;
}
没有合适的资源?快使用搜索试试~ 我知道了~
数据结构大作业(航空客运订票系统)
共23个文件
cpp:5个
obj:5个
pdb:2个
5星 · 超过95%的资源 需积分: 34 496 下载量 151 浏览量
2007-09-07
14:39:19
上传
评论 11
收藏 469KB RAR 举报
温馨提示
数据结构大作业完整版,做的是航空客运订票系统,用c++写的,里面包括源代码,开发文档等等
资源推荐
资源详情
资源评论
收起资源包目录
Flight.rar (23个子文件)
Flight
Flight
Flight.dsw 537B
FlightMain.cpp 2KB
查询航线.cpp 2KB
Flight开发文档.wps 264KB
FlightInfo.cpp 3KB
Flight.dsp 5KB
订票业务.cpp 2KB
Debug
退票业务.obj 9KB
vc60.pdb 68KB
FlightInfo.obj 24KB
vc60.idb 57KB
Flight.pch 248KB
Flight.ilk 355KB
订票业务.obj 10KB
FlightMain.obj 16KB
查询航线.obj 14KB
Flight.pdb 561KB
Flight.exe 224KB
退票业务.cpp 2KB
Flight.plg 2KB
Flight.opt 54KB
FlightInfo.h 2KB
Flight.ncb 65KB
共 23 条
- 1
Hankyutian
- 粉丝: 2
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页