- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
//包含头文件
#includestring.h
#includeconio.h
#includestdio.h
#includestdlib.h
#defineMAX60
//乘客信息结构体定义
typedefstructCustomer
{
charName[8];//姓名
intIDinfor;//证件号
intAmount;//订票数
charFlight_No[6];//航班号
intNumber;//订单编号
structCustomer*Next;//指向下一乘客结点
}Customer;
//航班信息结构体定义
typedefstructFlight
{
charFlight_No[6];//航班号
charSta_Name[10];//出发城市
charDes_Name[10];//到达城市
charSta_Time[10];//起飞时间
charDes_Time[10];//到达时间
intPrice;//价格
intCustomer_Amount;//总票数
intFree_Amount;//剩余票数
intDiscount;//折扣率
Customer*CustName;//已订票乘客名单
Customer*ReplName;//候补乘客名单
structFlight*Next;//指示下一航班结点
}Flight,*PFlight;
//全局变量定义
intCustomer_Count=0;//所有航班的订票总数
Flight*Head=NULL;//航班头指针
Flight*p2;//航班结点指针
Customer*Custp1[MAX];//各航班乘客节点指针
Customer*Replp1[MAX];//各航班候补节点指针
intIsEmpty=1;//是否有订票乘客
intIsReplace=1;//是否有候补乘客
Customer*prior;//满足要求的所有订票乘客的前节点,用于删除操作
intshouldsave=0;
//1.询问是否继续的函数
charContinue()
{
charanswer;
while(1)
{
printf(\n\t您是否想继续(Y/N)?);
scanf(%s,answer);
system(cls);
if(answer==y||answer==Y)
returny;
elseif(answer==n||answer==N)
returnn;
elseprintf(\n\t输入有误,请重新输入!);
}
}
//2.操作出错函数
voidErrorMess()
{
printf(\n\t对不起,您的输入有误!);
getch();
}
//3-1.核对航班函数
intFind_Line1(PFlightL,char*key)
{
intflag=0;//标志位=0则未找到相关信息
Flight*p1;
p1=L;//赋航班首地址
if(p1==p2)
returnflag;//首航班不做比较
while(p1!=p2p1!=NULL)
{
if(strcmp(p1-Flight_No,key)==0)
{
flag=1;
break;
}
p1=p1-Next;
}
returnflag;
}
//3-2.按航班号查询函数
intFind_Line2(PFlightL,char*key,PFlight*pp,int*Flight_No)
{
intflag=0;
Flight*p1;
p1=L;
while(p1!=NULL)
{
if(strcmp
文档评论(0)