的c++实现 您所在的位置:网站首页 飞机票订票系统设计原则有哪些 的c++实现

的c++实现

2024-07-15 23:27| 来源: 网络整理| 查看: 265

问题描述: 

假定某民航有M个航次的班机,每个航次都只到达一个地方。试为该机场售票处设计一个自动订票和退票系统,要求系统具有以下功能:

(1) 订票:若该航次余票大于等于乘客订票数,则在该航次的乘客表中,插入订票乘客的信息项,并修改该航次有关数据,否则给出相应信息。

(2) 退票:若该航次当前退票数小于等于乘客原订票数,则在相应的乘客表中找到该乘客项,修改该航次及乘客表中有关数据;当某乘客由于退票使订票数为零时,则从乘客表中撤消该数据项。

要求:

(1)描述对航次表和乘客表选用的数据结构(顺序表、链表的综合应用);

(2)编程实现飞机票订票和退票系统(查询、更新、删除运算的实现)。

一、逻辑设计

       编写一个模拟飞机票订票和退票系统,使该系统能够实现对航班信息的录入、浏览、查询以及订票、退票的功能。

       根据题目要求,系统要处理的数据有两类:一类是乘客数据;另一类是航班数据。乘客数据是动态的,用链表存储;而航班数据是静态的,用队列存储。

       乘客应包括的数据如下:

             name    乘客姓名

             TicketNum    购票数量

             Passenger * next    下一节点指针

       购买机票又要查询航班数据,航班应包括的数据如下:

             StartTime    航班出发时间

             EndTime    航班到达时间

             MaxContain    最大载客数量

             ReadyContain    当前已售票数量

             PassengerNode * pHead    该航班乘客首指针

       其应包含成员函数如下:

             TypeFlight    构造函数

             SetFlight    修改航班数据

             GetDeparture    取出发时间

             GetArrive    取到达时间

             GetLength    获取航班时长

             RemainTicket    获取余票数量

             BuyTicket    成员函数:购票

             CancelTicket    成员函数:退票

             SearchTicket    成员函数:搜索乘客购票数量

       为了实现出发与到达时间的输入输出及计算,定义了“时间”的抽象数据类型:

             1、在TypeTime内部用整形数定义它的小时和分钟。

             2、实现 + 、 - 运算的成员函数

             3、利用重载的流函数来输出形如“hh:mm”的格式时间

#define MaxNode 100 #define charl 100 #define MaxContainf 100 int FlightAmount; class TypeTime { private: int hour; int minute; public: TypeTime(int h,int m){hour=h;minute=m;} TypeTime(){hour=0;minute=0;} int Set(int h,int m) { if(h>=0&&h=0&&m= 60) flag = 1; TypeTime *result = new TypeTime ((hour + t2.hour + flag) % 24, (minute + t2.minute) % 60); return *result; } TypeTime & operator - ( TypeTime & t2) { int flag = 0; if (minute - t2.minute name,name) != 0) p=p->pNext; if(p->pNext!=NULL && strcmp(p->pNext->name,name) == 0) { if(amount > p->pNext->TicketNum){coutpNext; p->pNext=p->pNext->pNext; delete deleteNode; deleteNode=NULL; return 0; } p->pNext->TicketNum -= amount; this->ReadyContain -= amount; return 0; } cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有