数据结构航空客运订票系统实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.实验目的

1.掌握使用VC++上机调试队列的基本方法;

2.掌握队列的基本操作:初始化,出队列,入队列等运算在顺序和链式存储结构上的实现。

3.了解队列的抽象数据类型定义

4.熟练掌握链队列的定义,熟练掌握链队列表的基本算法及时间性能

二.实验内容

航班订票系统

航空客运订票业务包括:查询航线,客票预订,办理退票等。设计一个航空客运订票系统。

三.实验步骤(可选)

typedef struct pas{

CString nam;

int bok;

int lev;

}pas;

typedef struct wai{

CString nam;

int ned;

}wai;

typedef struct lpa{

pas man;

struct lpa *next;

}lpa,*ppa;

typedef struct qnode{//排队候队列wai ren;

struct qnode* next;

}qnode,*ptrq;

typedef struct flyinfo{

CString des;

CString fli;

CString air;

CString day;

int tol;

int lef;

ppa chk;

ptrq pwa;

int flg;

}flyinfo;

typedef struct{

ptrq front;

ptrq rear;

}linkq;

void initq(linkq &q)

{

q.front=q.rear=new qnode;

q.front->next=NULL;

}

void rudui(linkq &q,wai man) {

ptrq p;

p=new qnode;

p->ren.nam=man.nam;

p->ren.ned=man.ned;

p->next=NULL;

q.rear->next=p;

q.rear=p;

}

void chudui(linkq &q,wai &man) {

if(q.front==q.rear)

return;

ptrq p;

p=q.front->next;

man.nam=p->ren.nam;

man.ned=p->ren.ned;

q.front->next=p->next;

if(p==q.rear)

q.front=q.rear;

delete p;

}

/*typedef struct {

flyinfo *bas;

int len;

}slist;

void initlist(slist& l)

{

l.bas=(flyinfo*)malloc(sizeof(flyinfo)*10); l.len=0;

}

*/

void initchk(ppa &lis)

{

lis=new lpa;

lis->next=NULL;

}

void addpas(ppa &lis,pas miz)

{

ppa pl=new lpa;

ppa p=lis;

while(p!=NULL)

p=p->next;

pl->man=miz;

p=pl;

pl->next=NULL;

}

void dele(ppa &lis,pas miz) {ppa p,q;

p=q=lis;

for(;q!=NULL;)

{

if(q->man.nam==miz.nam)

{

p->next=q->next;

delete p;

break;

}

p=q;

q=q->next;

}

}

flyinfo fly[10];

linkq q[10];//paidui

ppa lis[10];//订票客户链表

int fg=0;

int fnum=0;

BOOL CMyDlg::OnInitDialog()

{

CDialog::OnInitDialog();

//initlist(fly);

initchk(lis[0]);

initq(q[0]);

initchk(lis[1]);

initq(q[1]);

fly[1].des="上海";fly[1].air="CV902";fly[1].day="星期二";fly[1].fli="XXDDD";fly[1].tol=300;fly[1].lef=5;

fly[0].des="南京";fly[0].air="CV902";fly[0].day="星期三";fly[0].fli="XXODD";fly[0].tol=300;fly[0].lef=5;

wai p1,p2;

p1.nam="jack";

p1.ned=10;

p2.nam="rose";

p2.ned=30;

rudui(q[0],p1);

相关文档
最新文档