数据结构课程设计(航空客运订票系统)

上传人:第*** 文档编号:57348367 上传时间:2018-10-21 格式:DOC 页数:18 大小:60.50KB
返回 下载 相关 举报
数据结构课程设计(航空客运订票系统)_第1页
第1页 / 共18页
数据结构课程设计(航空客运订票系统)_第2页
第2页 / 共18页
数据结构课程设计(航空客运订票系统)_第3页
第3页 / 共18页
数据结构课程设计(航空客运订票系统)_第4页
第4页 / 共18页
数据结构课程设计(航空客运订票系统)_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《数据结构课程设计(航空客运订票系统)》由会员分享,可在线阅读,更多相关《数据结构课程设计(航空客运订票系统)(18页珍藏版)》请在金锄头文库上搜索。

1、(贵州大学计算机科学与信息学院贡献) #include #include #include #include #include #include #define MAX 60 #define NULL 0 typedef struct Customer /*乘客信息*/ char Name8; /*姓名*/ int Amount; /*定票数*/ char Rank; /*舱位等级*/ int IDinfor; /*个人信息*/ struct Customer *Next; /*指向下一乘客结点*/ Customer; typedef struct Flight /*航线信息*/ char D

2、es_Name10; /*终点站名*/ char Flight_No6; /*航班号*/ char Plane_No6; /*飞机号*/ int Week_Day; /*飞行周日*/ int Customer_Amount; /*乘员定额*/ int Free_Amount; /*剩余票数*/ int Price3; /*舱位等级的价格*/ Customer *CustName; /*该航班的已定票乘客名单*/ Customer *ReplName; /*该航班的候补乘客名单*/ struct Flight *Next; /*指示下一航线结点*/ Flight,*PFlight; int Cu

3、stomer_Count=0; /*所有航线的定票乘客总数*/ Flight *Head; /*航线头指针*/ Flight *p2; /*航线结点指针*/ Customer *Custp1MAX; /*各条航线乘客结点指针*/ Customer *Replp1MAX; /*各条航线候补结点指针*/ int IsEmpty=1; /*是否有定票乘客*/ int IsReplace=1; /*是否有候补乘客*/ Customer *prior; /*满足要求的定票乘客的前结点,以作删除操作*/ int shouldsave=0; /*-询问是否继续的函数-*/ char Continue() c

4、har answer; while(1) printf(“nt 您是否想继续(Y/N)?“); scanf(“%s“, system(“cls“); if(answer=y|answer=Y) return y; else if(answer=n|answer=N) return n; else printf(“nt 输入有误,请重新输入!“); /*-操作出错函数-*/ void ErrorMess() printf(“nt 对不起,您的操作有误!“); getch(); /*-系统退出函数-*/ int ExitSystem() char answer; printf(“nt 您是否想要退

5、出系统(Y/N)?“); scanf(“%s“, if(answer=y|answer=Y) return 1; else return 0; /*-航线查找函数-*/ /*Find_Line()为重载函数*/ int Find_Line(PFlight L,char *key)/*核对航线是否唯一*/ int flag=0; /*该标志位 0 表示未找到相关信息,反之即找到,以下标志位同理*/ Flight *p1; p1=L; /*赋航线首地址*/ if(p1=p2) /*首航线不作比较*/ return flag; while(p1!=p2 break; p1=p1-Next;/*指向下

6、一航班结点*/ return flag; int Find_Line(PFlight L,char *key,PFlight /*该标志位 0 表示未找到相关信息,反之即找到*/ Flight *p1; p1=L; /*赋航线首结点*/ while(p1!=NULL) if(strcmp(p1-Flight_No,key)=0)/*不包括当前航线*/ flag=1; p2=p1; break; p1=p1-Next; /*指向下一航班结点*/ if(p1!=NULL) /*遇结束符不作统计范围*/ Flight_No+; return flag; /*-航班查找函数-*/ void Line_

7、search() Flight *p1; p1=Head; char Desname50;/查询终点站航班关键字 if(Head=NULL) printf(“nt 没有到达您想要的终点站的航班!“); getch(); return; printf(“nt 请输入终点站名:“); scanf(“%s“,Desname); printf(“nt 您所查询的航班的信息:n“); printf(“n_ _n“); while(p1!=NULL) if(strcmp(p1-Des_Name,Desname)=0) printf(“Des_Name Flight_No Plane_No Week_Day

8、 Cust_Num Free_Num 1_Price 2_Price 3_Pricen“); printf(“n%-9s%-10s%-9s%-9d%-9d%-9d%-8d%-8d%-8d“,p1-Des_Name,p1- Flight_No,p1-Plane_No,p1-Week_Day, p1-Customer_Amount,p1-Free_Amount,p1-Price0,p1-Price1,p1- Price2); p1=p1-Next; printf(“n_ _n“); Continue(); /*-航线添加函数-*/ void Line_Add() Flight *p1; /*建立临

9、时航线结点*/ while(1) if(Head=NULL)/*航线为空*/ p1=p2=new Flight; /*建立首个航线*/ Head=p2; else p1=new Flight; /*建立航线结点*/ p2-Next=p1; /*前一航线结点指向当前航班结点*/ p2=p1; /*保留当前航班结点地址*/ printf(“nt 添加新的航线!n“); printf(“nt 请输入终点站名:“); scanf(“%s“, while(1) /*数据合法性检验*/ printf(“nt 请输入唯一的航班号:“); scanf(“%s“, if(Find_Line(Head,p2-Fl

10、ight_No) /*存在航班号*/ printf(“nt 航班号已经存在!n“); else break; printf(“nt 请输入飞机号:“); scanf(“%s“, while(1) printf(“nt 请输入航班日期(请输入 17):“); scanf(“%d“, if(p2-Week_DayWeek_Day7) printf(“nt 输入日期有误,请重新输入!n“); else break; printf(“nt 请输入座位数量:“); scanf(“%d“, printf(“nt 请输入头等舱的价钱:“); scanf(“%d“, printf(“nt 请输入二等舱的价钱:

11、“); scanf(“%d“, printf(“nt 请输入三等舱的价钱:“); scanf(“%d“, p2-Free_Amount=p2-Customer_Amount; /*剩余票数与乘员定额相同*/ p2-CustName=NULL; /*该航线定票乘客头指针为空*/ p2-ReplName=NULL; /*初始候补名单为空 */ shouldsave=1; if(Continue()=n) p2-Next=NULL; /*航线的下一结点为空*/ return; /*-航线是否为空函数-*/ int Empty_Flight() if(Head=NULL) system(“cls“);

12、 printf(“nt 对不起,航线不存在,按任意键返回!“); getch(); return 1; else return 0; /*-航线查看函数-*/ void Line_See() system(“cls“); Flight *p1; p1=Head; if(Empty_Flight() /*航班线为空*/ return; printf(“nnt 航班信息:n“); printf(“n_ _n“); printf(“Des_Name Flight_No Plane_No Week_Day Cust_Num Free_Num 1_Price 2_Price 3_Pricen“); wh

13、ile(p1!=NULL) printf(“n%-9s%-10s%-9s%-9d%-9d%-9d%-8d%-8d%-8d“,p1-Des_Name,p1- Flight_No,p1-Plane_No,p1-Week_Day, p1-Customer_Amount,p1-Free_Amount,p1-Price0,p1-Price1,p1-Price2); p1=p1-Next; printf(“n_ _n“); printf(“nt 按任意键返回!n“); getch(); /*-航线管理菜单-*/ void LinemanageMenu() char c; system(“cls“); while(1) printf(“ntt 航线管理菜单:“); printf(“n_ _

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号