1、 1 数据结构课程设计数据结构课程设计报告报告 目录目录 1.航班信息管理系统航班信息管理系统3 2.铁路线最佳经由问题铁路线最佳经由问题11 3.学生信息管理系统学生信息管理系统20 4.个人实习总结个人实习总结30 2 题目题目 1:航空订票系统:航空订票系统 一一需求分析:需求分析: 设计一个航空订票系统,基本要求如下: 每条航班所涉及的信息有:航班号,航班机型,起飞机场,降落机场,日期 (星期几) ,起飞时间,降落时间,飞行时长,价格,乘员定额,余票量,订定 票的客户名单(包括姓名,订票量,舱位等级(头等舱、公务舱、经济仓)以及 等候替补的客户名单(包括姓名、所需数量) 。采用链式存储
2、结构。 系统能实现的操作和功能如下: (1)航班信息管理。 (2)查询航线,按以下几种方式查询: 按航班号查询; 按起点站查询; 按终点站查询; 按日期查询; 每种查询方式中,查询后输出如下信息:航班号,航班机型,起飞机场,降 落机场,日期(星期几) ,起飞时间,降落时间,飞行时长,价格,余票量。 (3)承办订票业务:根据客户提出的要求(航班号,订票数额)查询该航班票 额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少于 订票额,则需重新询问客户要求。若需要,可登记排队候补。 (4)承办退票业务:根据客户提出的情况(日期,航班号),为客户办理退票 手续,然后查询该航班是否有人
3、排队候补,首先询问排在第一的客户,若所退票 额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。 二二设计设计 1.设计思想:设计思想: (1)数据结构设计:)数据结构设计: a.航班信息:航班信息: 该系统采用动态链表存储航班信息,每个节点表示一趟航班的基本信息 (航班号,航班机型,起飞机场,降落机场,日期(星期几) ,起飞时间,降落 时间,飞行时长,价格,乘员定额,余票量) ,还包括购买该趟航班的客户信息 (包括姓名,订票量,舱位等级(头等舱、公务舱、经济仓) ,链表结构体如下: 3 typedef struct char nameMAX; /客户姓名 int ticke
4、tnum; /客户订票量 char rankMAX; /舱位等级 int ticketMAX; /记录座位号 Client; /客户信息 typedef struct int NO; /座位号 int flag; /标记是否被买 Ticket; typedef struct int fID; /航班号 char fModelMAX; /航班机型 char airFromMAX; /起飞机场 char airToMAX; /降落机场 char weekMAX; /起飞时间 char startMAX; /起飞时间 char endMAX; /降落时间 char timeMAX; /飞行时长 fl
5、oat price; /价格 int count; /成员定额 int rest; /余票量 Client clientMAX; /购买该趟航班所有客户信息 int clientnum; /购买该趟航班的客户数量 DataType; /航班数据类型 typedef struct node DataType data; Ticket ticket100; /座位号 struct node* next; SLNode; 4 b.候补队列结构体:候补队列结构体: 候补队列没有采用队列,而是采用链表,只是添加数据时在末尾添加,删除数 据在首部添加。 typedef struct char nameMAX; /候补客户名称 int number; /候补客户订票量 int fID; /候补客户订购的航班号 QDataType; /候补信息 typedef struct qnode /候补客服信息链表 仿队列 QDataType data; struct qnode *next; ListQueue; (2)算法设计算法设计 该系统包含五项基本功能:添加航班,查找航班,删除航班,该系统包含五项基本功能:添加航班,查找航班,删除航班,订票,退票。订票,退票。 添加航班添