航空订票系统实习报告.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实习报告 航空订票系统

题目:

航空客运定票的业务活动包括:查询航线、客票预定和办理退票等。试设计一个航空客运定票系统,以使上述业务可以借助计算机来完成。

需求分析

在测试程序中要求可以在用户端录入航班情况,包括:终点站点、航班号、飞机日期、航班票价、票价折扣、成员定额、余票量。

要求程序能执行的命令:

查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;

订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票;

退票:可退票,退票后修改相关数据文件;

客户资料:有姓名,证件号,航班情况,订单要有编号;

修改航班信息:当航班信息改变可以修改航班数据文件。

作为示意系统,全部数据只放在内存中,不存入硬盘。

测试数据:、

概要设计

为实现上述程序功能,需要定义以下抽象数据类型。

航班链表的抽象数据类型定义为

ADTFlight{

数据对象:D={to,FlightNumber,FlightDay,leave,arrive,prize,

discount,capacity,booknum,*next|*next∈Flight}

数据关系:R1={fi-1,fi|fi-1,fi?D,i=2,3,...,N}

基本操作:

InitList(f)

操作结果:构造一个带头结点的空链表。

AddToList(f)

初始条件:链表f已存在。

操作结果:构造一个空的单元加到链表中。

LocateFlight(f,a[])

初始条件:链表f已存在,a[]为要寻找的航班的航班号。

操作结果:返回找到航班的位序。

若所寻航班不存在,则返回值为0。

DestroyFlight(f,f0)

初始条件:航班结点f已存在,f0为航班链表的头结点。

操作结果:销毁航班结点f。

}ADTFlight

顾客链表的抽象数据类型定义为

ADTCustomer{

数据对象:D={name,ID,BookNumber,*fi,*next|*fi∈Flight,*next∈Customer}

数据关系:R1={ci-1,ci|ci-1,ci?D,i=2,3,...,N}

基本操作:

InitCList(c)

操作结果:构造一个带头结点的空链表。

AddCToList(c1)

操作结果:构造一个空的单元加到链表中。

LocateCustomer(c,a[])

初始条件:链表f已存在,a[]为要寻找的订单号。

操作结果:返回找到订单的位序。

若所寻订单不存在,则返回值为0。

DestroyCustomer(c,c0)

{ //初始条件:顾客结点c已存在,c0为顾客链表的头结点。

//操作结果:销毁顾客结点c。

本程序包含三个模块:

主程序模块:

voidmain(){

航班链表初始化;

顾客链表初始化;

进入mainmenu;

}

mainmenu模块——进入主页面进行选择;

子程序模块——包括InputFlight模块、ModifyFlight模块、look模块、book模块、cancel模块

各模块之间的调用关系如下:

主程序模块

mainmenu模块

子程序模块

(InputFlight模块、ModifyFlight模块、look模块、book模块、cancel模块)

三.详细设计

航班链表

structFlight //航班链表(带头结点)

{

charto[N];//目的地

charFlightNumber[N];//航班号

DateFlightDay;//飞行日期

Timeleave;//起飞时间

Timearrive;//降落时间

intprize;//票价

intdiscount;//票价折扣

intcapacity;//成员定额

intbooknum;//订票数

Flight*next;

};

typedefFlight*flight;

StatusInitList(flightf)

{//操作结果:构造一个带头结点的空链表

f=(flight)malloc(sizeof(Flight));

f-booknum=0;f-next=NULL;

}

StatusAddToList(flightf1)

{ //初始条件:链表f1已存在

//操作结果:构造一个空的单元加到链表中

flightf2;InitList(f2);f1-next=f2;f1=f2;

}

intLocateFlight(flightf,chara[])

{ //初始条件:链表f已存在,a[]为要寻找的航班的航班号

//操作结果:返回找到航班的位序

//若

文档评论(0)

优秀文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档