没有合适的资源?快使用搜索试试~ 我知道了~
机票销售系统课程设计报告附心得
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 145 浏览量
2023-05-04
21:57:07
上传
评论
收藏 628KB DOC 举报
温馨提示
试读
22页
机票销售系统课程设计报告附心得
资源推荐
资源详情
资源评论
XX 大学
信息科学与工程学院
数据结构课程
设计报告
课题:
专业班级:
学号:
姓名:
指导老师:
完 成 时 间 :
一、设计综述
1.设计题目
航空客运订票系统
2.问题描述
每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、乘员定
额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级 1,2 或 3)以及等候替补
的客户名单(包括姓名、所需数量)。
3.需求分析
(1)查询航线:根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,
最近一天航班的日期和余票额;
(2)承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若
有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问
客户要求。若需要,可登记排队候补;
(3)承办退票业务:根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查
询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为
他办理订票手续,否则依次询问其它排队候补的客户。
实现提示:两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性
表应按客户姓名有序,并且,为了插入和删除方便,应以链表作为存储结构。由于预约人数
无法预计,队列也应以链表作为存储结构。
4.完成目标
通过对课程设计课题的研究,依靠自己的理解与学习,进行分析,设计,调试,记录等
过程,深入了解数据结构(C 语言)的知识与实践操作,将两者相互结合,融会贯通。
二、程序设计
1.概要设计
1.1 第一个结构体定义了订票客户 passenger 所需的全部变量;
typedef struct passenger
{
char name[10];/*姓名*/
int ID[20];//身份证号
int password; //密码
int tickets;/*订票量*/
struct passenger *next;
}qnode,*qptr;
1.2 第二个结构体用于创建候补客户的存储用循环链表;
typedef struct pqueue
{
qptr front;
qptr rear;
}linkqueue;
1.3 第三个结构图定义了候补客户 passenger_wait 所需的全部变量;
typedef struct passenger_wait
{
char name[10];/*客户姓名*/
int ID[20];//身份证号
int tickets_wait;/*订票量*/
char grade;/*舱位等级*/
struct passenger_wait *next;
}linklist;
1.4 第四个结构体则定义了每趟航班所需的基本数据,这里可以初始化,但考
虑到这是订票系统,于是没有添加新增航班功能。
struct airline
{
char ter_name[10];/*终点站名 */
char air_num[10];/*航班号*/
char plane_num[10];/*飞机号*/
char day[7];/*飞行周日(星期几)*/
int tkt_amt;/*乘员定额*/
int tkt_sur;/*余票量*/
linklist *order;/*乘员名单域,指向乘员名单链表的头指针*/
linkqueue wait;/*等候替补的客户名单域* /
}lineinfo;
2.订票系统架构:
3.程序详细设计
本程序包含:1.主函数 2.主菜单函数 3.航班信息查询函数(目的地查询函数、航班编
号查询函数、航班时间查询函数)4.机票信息查询函数(顾客姓名查询、机票编号查询函数、
航班编号查询)5.票卖出函数 6.退票函数 7.航班信息修改函数 8.航班、机票信息文件判断
建立函数 9.航班、机票信息文件保存函数。
3.1 主函数(void main())
主函数主要是调用其他函数,并把建立的链表头指针附给主菜单函数。首先调用航班、
机票信息文件判断建立函数。它首先分别判断在是否存在航班信息文件、机票信息文件。如
果 不 存 在 , 分 别 生 成 文 件 ( 航 班 信 息 文 件 设 为 "d:\\a.dat" , 机 票 信 息 文 件 设 为
"d:\\b.dat"),生成的文件中都已有初始数据。详细数据见 3.1 初始航班、机票文件内容。
如果存在,则不再生成文件,而且不会变动已有的文件。然后它会分别读文件,分别生成航
班信息的链表和机票信息链表,并将链表头返回到主函数的变量中。然后主函数调用主菜单
函数,同时将两个链表头赋给主菜单函数。
主函数流程图如下:
main
航班信息文件判断生成函数
机票信息文件判断生成函数
主菜单函数
3.2 主菜单函数(void menu(struct flight *f,struct ticket *t))
主菜单函数是供用户选择下一步操作(函数),并把下一步需要的两个链表的头赋
给该函数。主菜单流程图如下:
航
班
信
息
查
询
主菜单函数
选择输入
i
i>1 且 i<7
switch(i)
机
票
信
息
查
询
买
票
退
票
航
班
信
息
修
改
退
出
0
非 0
i=5
i=1
i=2
i=3
i=4
i=1
i=1
i=6
i=1
输出选择界面
打印“输入有
误,重新输入”
剩余21页未读,继续阅读
资源评论
文档优选
- 粉丝: 88
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功