云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构课程教学设计-飞机订票系统设计与实现(里面附有源代码)

数据结构课程教学设计-飞机订票系统设计与实现(里面附有源代码)

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 16:34:28

,.

(int)

单链表如下:

每个结点包括数据域和指针域:

C语言描述如下:

typedef struct flightnode{ char air_num[10];//航班号 char start_time[15];//起飞时间 char end_time[15];//抵达时间 char start_place[20];//起飞城市 char end_place[20]; //降落城市 int left; //空座数 float price; //票价 float price_discount;//票价折扣 int isFull; //航班是否满仓

struct flightnode *next;//指向下一个结点

h D1 D2 (int) (float) (float) D3 ^ 数据域 指针域 }flightnode;//航班结点

,.

(2)客户的资料:为了便于插入、删除和修改,其采用单链表存储结构,每个数据元素包括姓名、证件号、航班号、订票数量和订单号五个数据项: 姓名 字符串

每个结点包括数据域和指针域:

C语言描述如下:

typedef struct passengernode{//定义客户资料结点 char name[20]; //姓名 char ID_num[20]; //证件号 char flight_num[10];//航班号 int order_num; //订单号 int ticket_num; //订票数量

struct passengernode *next;//指向下一个结点 }passengernode;

(3)客户链表:每个数据元素包括头指针和尾指针两个数据项: 每个结点包括两个指针域:

证件号 字符串 航班号 字符串 订票数量 整数(int) 订单号 整数(int) 数据域 指针域 头指针域 尾指针域 C语言描述如下:

,.

typedef struct passengerList{ passengernode *head; passengernode *rear; }passengerList;

2.2 程序模块

2.2.1 录入航班信息模块

void add_flight(flightnode *&h)调用void insert_flight(flightnode *&h,char* flight_num,char* start_place,char* end_place,char* start_time,char* end_time,int left,float price,float price_discount,int isFull)函数,将新航班结点插入航班链表中。

2.2.2 客户订票模块

int book(flightnode *&h,passengerList *&PList)函数调用int insert_passenger(passengernode *&h,char *name,char *ID_num,char

*flight_num,int ticket_num,int order_num)函数,将新客户结点插入客户链表中。

2.2.3 客户退票模块

void cancel(passengerList *&PList,flightnode *&h)函数调用int

delete_passenger(passengerList *&PList,flightnode *&h,char *name,char *ID_num)函数,将相应的顾客结点删除,并修改相应的航班信息。

,.

2.2.4 查询航班模块

void flight_check(flightnode *h)调用void check_all_flight(flightnode *h)函数进行所有航班信息浏览,调用int place_check(flightnode *h,char *start_place,char *end_place)函数按起飞抵达城市对航班进行查询,调用int

flight_num_check(flightnode *h,char *flight_num)按航班号对航班进行查询。

2.2.5 查询订单模块

void passenger_check(passengerList *PList)调用void

check_all_passenger(passengerList *PList)函数进行所有订单信息浏览,调用int order_num_check(passengerList *PList,int order_num)函数按订单号对订单进行查询,调用int ID_name_check(passengerList *PList,char *name,char *ID_num)按客户姓名和证件号对订单进行查询。

2.2.6 修改航班模块

增加航班时,void modify_flight(flightnode *&h,passengerList *&PList)函数调用void add_flight(flightnode *&h)函数,将新航班信息结点插入航班链表中。

删除航班时,void modify_flight(flightnode *&h,passengerList *&PList)函数调用void delete_flight(flightnode *&h,passengerList *&PList)函数将相应的航班信息删除,并删除相应的订单信息。

修改航班时间时,void modify_flight(flightnode *&h,passengerList *&PList)函数修改指定航班的起飞抵达时间。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

,. (int) 单链表如下: 每个结点包括数据域和指针域: C语言描述如下: typedef struct flightnode{ char air_num[10];//航班号 char start_time[15];//起飞时间 char end_time[15];//抵达时间 char start_place[20];//起飞城市 char end_place[20]; //降落城市 int left; //空座数 float price; //票价 float price_discount;//票价折扣 int isFull; //航班是否满仓 struct flightnode *next;//指向下一个结点

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com