计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费vc++航空客运订票系统+论文(一)毕业论(2)

2013-07-01 01:52
导读:gangjie 航班号1001 飞行周日2 2.3.6 查询航线:终点站名:shanghai 3 调试分析 3.1 本次的设计比较困难,需要实现较多的功能,所以在调试过程中不太顺利,主
gangjie 航班号1001 飞行周日2
2.3.6  查询航线:终点站名:shanghai
3  调试分析
3.1 本次的设计比较困难,需要实现较多的功能,所以在调试过程中不太顺利,主要是指针的修改。经过反复调试以后才得以解决。
3.2 本程序航线采用数组的存储结构,每条航线包含8个域,其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向对头和对尾的指针。
3.3 订票函数是在退票业务模块中使用
4  经验和体会
通过这次的程序设计,进一步理解了链表和队列结构的实现和应用。尤其需要注意的是:对于指针的修改要仔细,否则会发生意想不到的结果。
5  源程序清单和运行结果
5.1 程序清单
#include<iostream.h>
#include<iomanip.h>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#define FLIGHT_NUM 100//航线最大数量

typedef struct Al_Custom //已订票客户
{
 char name[15];//姓名
 int count;//订票量
 int level;//舱位等级
 Al_Custom *next;//下一节点指针
}Al_Custom,*Al_CustomLink;

typedef struct Wait_Custom//等候替补的客户
{
 char name[15];//姓名
 int count;//所需票量
 Wait_Custom *next;//下一节点指针
}Wait_Custom;

typedef struct Wait_Queue//等待队列
{
 Wait_Custom *front;//队列头指针
 Wait_Custom *rear;//尾指针
}Wait_Queue;

typedef struct Flight//航线
{
 char terminus[15];//终点站名
 char flight_no[10];//航班号
 char plane_no[10];//飞机号
 int week;//飞行周日
 int count;//乘客定额
 int rest;//余票量
 Al_CustomLink Al_link;//指向成员名单链表的头指针

(科教范文网 Lw.nsEAc.com编辑整理)


 Wait_Queue wait_queue;//等待替补队列
}Flight;

void Custom_init(Al_CustomLink &L)
{
 L=new Al_Custom;
 L->next=0;
}

void Custom_insert(Al_CustomLink &L,Al_Custom& custom)
{
 Al_Custom *p=L,*newnode=new Al_Custom;
 memcpy((void*)newnode,&custom,sizeof(Al_Custom));
 newnode->next=p->next;
 p->next=newnode;
}

void copyCustomLink(Al_CustomLink &dest,Al_CustomLink &source)//复制已订票客户链表
{
 Al_CustomLink p=source;
 Al_CustomLink q;
 Al_Custom *pnew;
 Custom_init(dest);
 q=dest;
 while(p->next)
 {
  pnew=new Al_Custom;
  memcpy(pnew,p->next,sizeof(Al_Custom));
  pnew->next=0;
  q->next=pnew;
  q=pnew;
  p=p->next;
 }
 
}

void Waiter_init(Wait_Queue &Q)
{
 Q.front=Q.rear=new Wait_Custom;
 Q.front->next=0;
}

void Waiter_En(Wait_Queue &Q,Wait_Custom& custom)
{
 Wait_Custom *newnode=new Wait_Custom;
 memcpy(newnode,&custom,sizeof(Wait_Custom));
 newnode->next=0;
 Q.rear->next=newnode;
 Q.rear=newnode;
}
bool Waiter_De(Wait_Queue &Q,Wait_Custom& custom)
{
 if(Q.rear==Q.front)
  return false;
 memcpy(&custom,Q.front,sizeof(Wait_Custom));
 Wait_Custom *p=Q.front->next;
 Q.front->next=p->next;
 if(Q.rear!=Q.front)
  Q.rear=Q.front;
 delete p;
 custom.next=0;
 return true;
}


void copyWait_Queue(Wait_Queue &dest,Wait_Queue& source)//复制等待队列
{ (转载自科教范文网http://fw.nseac.com)
 Wait_Custom *p=source.front;
 Waiter_init(dest);
 while(p->next)
 {
  Waiter_En(dest,*p);
  p=p->next;
 }
}


int flight_no;//航线数量
Flight flight[FLIGHT_NUM];//航线数组

void initFlight(Flight &f)//初始化一条航线
{
 

上一篇:免费图书管理系统(一)毕业论文 下一篇:没有了