数据结构课程设计报告11.docVIP

  • 0
  • 0
  • 约1.64万字
  • 约 19页
  • 2018-03-27 发布于河南
  • 举报
数据结构课程设计报告11

目录 需求分析…………………………………………………………………………………2 概要设计…………………………………………………………………………………2 详细设计…………………………………………………………………………………3 调试分析…………………………………………………………………………………18 用户手册…………………………………………………………………………………18 附录………………………………………………………………………………………20 心得………………………………………………………………………………………20 正文 需求分析 用顺序表表示所有航线的信息,顺序表的每个结点为每条航班信息,并按终点站名的序号有序排列。用链表表示已订票客户的信息,链表的结点按客户姓名有序排列。用链队列表示候补客户的信息,队形结点按结点按客户姓名有序排列。 查询功能: 客户输入终点站的信息,通过直接查找输出以下信息:航班号、飞机号、起飞日期,剩余票数量。 订票功能: 客户输入所要订票的航班号,系统输出该航班的信息,并询问客户是否订票,客户确认订票并输入订票量,如果订票量超出余票量,则询问客户是否订票,并减少票数还是进行登记排队候补。如果票已售完,询问客户是否登记排队候补。 4、退票功能: 根据客户所要退票的航班号,删除该客户的信息,并询问候补队列中的客户是否订票,若是,则将该客户的信息转移到订票客户的链表中;否则,询问队列中的下一位客户。 概要设计 设定顺序表的抽象数据类型定义: ADT SqList{ 数据对象:D={ai| ai∈Node_3(各航班的信息),i=1,2,……,n,n≧0} 数据关系:R1={ai-1,ai|ai-1,ai∈D,i=2,3,……,n} 基本操作: InitList_Sq(SqList L) 操作结果:构造一个空的顺序表 InitList_Link(LinkList Lc) 操作结果:构造一个空链表 InitQueue(LinkQueue Qc) 操作结果:构造一个空队列 Menu() 操作结果:显示主菜单 InitLine(SqList L) 操作结果:初始化各条航线的信息 OutTer_name() 初始条件:存储站名的数组已经赋初会值 操作结果:输出所有终点站名 Out(SqList L,int num) 初始条件:L已经存在 操作结果:输出终点站序号为 num的航线的信息 Search(SqList L) 初始条件:L已经存在 操作结果:查找航线信息子模块 OutputLine(SqList L,int num) 初始条件:L已经存在 操作结果:输出终止站序号为num的航线的信息 Book(SqList L) 初始条件:L已经存在 操作结果:订票子模块 Cimfomation(PNode p) 初始条件:p指向客户要订票的航班的结点 操作结果:录入订票客户信息 Qimfomation(PNode p) 初始条件:p指向客户要登记候补订票的航班的结点 操作结果:录入候补客户信息 Dishonored(SqList L) 初始条件:L已经存在 操作结果:退票子模块 Delete(PNode r,LinkList q) 初始条件:r指向已有客户退票的航线,q已经存在 操作结果:删除退票客户信息 Inform(PNode r,LinkList s) 初始条件:r指向已有客户退票的航线,s已经存在 操作结果:询问登记候补客户是否订票 本系统包括一个模块,三个子模块 主模块: Void main() { 初始化; 显示主菜单 进入各子模块 } 查询子模块{} 订票子模块{} 退票子模块{} 详细设计 #define TER_NUM 7 //终点站总数 #define NULL 0 #include string.h #include malloc.h #include iostream.h #include stdio.h #include conio.h #include ctype.h #include stdlib.h #include malloc.h #include math.h//overflow char *ter_name[TER_NUM]={Haerbing,Beijing,Lasa,Shanghai,Guangzhou,Shenzhen,HongKong}; //终点站名 char *line[TER_NUM]={Line-CG01,Line-CG02,L

文档评论(0)

1亿VIP精品文档

相关文档