1 / 18
文档名称:

数据结构课程设计飞机航班订票系统.doc

格式:doc   大小:37KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构课程设计飞机航班订票系统.doc

上传人:zkusha 2021/10/29 文件大小:37 KB

下载得到文件列表

数据结构课程设计飞机航班订票系统.doc

相关文档

文档介绍

文档介绍:课程设计报告书
课程设计名称:《数据结构课程设计》 专 业:
题 目:飞机航班订票系统 班 级: 学 号: 姓
名: 指 导 老 师: 完 成 时 间:2012-7-9
问题描述
一机场每天有n个航班,每个班次都有一班次号(1、2、3„n),固定的起飞时间,固定的路线(起始站、终点站),大致的飞行车时间,固定的额定载客量。如
班次 起飞时间 起点站 终点站 飞行时间 额定载量 已定票人数
1 8:00 天津 广汉 2 145 130
2 6:30 天津 成都 140 140
3 7:00 天津 成都 140 120
4 10:00 天津 成都 140 120

试设计一个机票管理系统,对机场的售票情况进行管理。
基本要求
功能要求:
(1) 录入班次信息(信息用文件保存),可不定时地增加班次数据;
(2) 浏览班次信息,可显示出所有班次当前状况(如果当前系统时间超过了某班次的起
飞时间,则显示“此班已发出”的提示信息)。
(3) 查询路线:可按班次号查询 ,可按终点站查询;
(4) 售票和退票功能
A:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可预约登记排队等候;
B:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人预约登记,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队预约的客户。
(5) 修改航班信息:
当航班信息改变可以修改航班数据文件
实现提示
每条航线应包括的信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票额、已订票的客户名单(包括姓名、订票额、座位号)和预约登记的客户名单(包括姓名、所需票额)。这最后两项显然是一个线性表和一个队列。为查找方便、已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约
人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录、包含上述八个域、其中乘员名单域为指向乘员名单链表的头指针,预约登记客户名单域为分别指向队头和队尾的指针。
选做根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。
1、需求分析:
对于本设计,可采用基数排序法对于一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快递查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因为它们用的较少。
2、源程序:
#inc#include<>
#include<>
#include<>
#define N 9999 //定义最多的航班数
#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //宏定义输出格式
struct air //定义结构体数组
{
int num;
char start[20];
char over[20];
char time[10];
int count;
}s[N];
int i,m=0; //定义全局变量
char ii[10];
void add(); //函数声明增加航班信息函数
void print(); //显示航班信息
void search(); //查找航班信息
void dingpiao(); //订票业务
void tuipiao(); //退票
void read(); //读取文件
void save(); //保存文件
void output(); //输出格式
void paixu(); //航班排序
void chushihua(); //系统初始化
void build(); //建立数据文件
void paixu1(); //按航班号从小到大排序
void paixu2(); //从大到小
void main() //主函数
{
int j;
printf(" 欢迎使用中南大学飞机订票系统\n");