資源描述:
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(航空客運(yùn)訂票系統(tǒng)).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、(貴州大學(xué)計(jì)算機(jī)科學(xué)與信息學(xué)院貢獻(xiàn))#include#include#include#include#include#include#defineMAX60#defineNULL0typedefstructCustomer/*乘客信息*/{charName[8];/*姓名*/intAmount;/*定票數(shù)*/charRank;/*艙位等級(jí)*/intIDinfor;/*個(gè)人信息*/structCustomer*Next;/
2、*指向下一乘客結(jié)點(diǎn)*/}Customer;typedefstructFlight/*航線信息*/{charDes_Name[10];/*終點(diǎn)站名*/charFlight_No[6];/*航班號(hào)*/charPlane_No[6];/*飛機(jī)號(hào)*/intWeek_Day;/*飛行周日*/intCustomer_Amount;/*乘員定額*/intFree_Amount;/*剩余票數(shù)*/intPrice[3];/*艙位等級(jí)的價(jià)格*/Customer*CustName;/*該航班的已定票乘客名單*/Customer*ReplName;/*該航班的候補(bǔ)乘
3、客名單*/structFlight*Next;/*指示下一航線結(jié)點(diǎn)*/}Flight,*PFlight;intCustomer_Count=0;/*所有航線的定票乘客總數(shù)*/Flight*Head;/*航線頭指針*/Flight*p2;/*航線結(jié)點(diǎn)指針*/Customer*Custp1[MAX];/*各條航線乘客結(jié)點(diǎn)指針*/Customer*Replp1[MAX];/*各條航線候補(bǔ)結(jié)點(diǎn)指針*/intIsEmpty=1;/*是否有定票乘客*/intIsReplace=1;/*是否有候補(bǔ)乘客*/Customer*prior;/*滿足要求的定票乘客
4、的前結(jié)點(diǎn),以作刪除操作*/intshouldsave=0;/*-------------詢問(wèn)是否繼續(xù)的函數(shù)-------------*/charContinue(){charanswer;while(1){printf("t您是否想繼續(xù)(Y/N)?");scanf("%s",&answer);system("cls");if(answer=='y'
5、
6、answer=='Y')return'y';elseif(answer=='n'
7、
8、answer=='N')return'n';elseprintf("t輸入有誤,請(qǐng)重新輸入!");
9、}}/*---------------操作出錯(cuò)函數(shù)---------------*/voidErrorMess(){printf("t對(duì)不起,您的操作有誤!");getch();}/*--------------系統(tǒng)退出函數(shù)---------------*/intExitSystem(){charanswer;printf("t您是否想要退出系統(tǒng)(Y/N)?");scanf("%s",&answer);if(answer=='y'
10、
11、answer=='Y')return1;elsereturn0;}/*--------------
12、航線查找函數(shù)-------------*//*Find_Line()為重載函數(shù)*/intFind_Line(PFlightL,char*key)/*核對(duì)航線是否唯一*/{intflag=0;/*該標(biāo)志位0表示未找到相關(guān)信息,反之即找到,以下標(biāo)志位同理*/Flight*p1;p1=L;/*賦航線首地址*/if(p1==p2)/*首航線不作比較*/returnflag;while(p1!=p2&&p1!=NULL)/*本航班號(hào)不納入比較范圍,否則會(huì)一直提示航線不唯一*/{if(strcmp(p1->Flight_No,key)==0){flag=
13、1;break;}p1=p1->Next;/*指向下一航班結(jié)點(diǎn)*/}returnflag;}intFind_Line(PFlightL,char*key,PFlight&p2,int&Flight_No)/*航線查找函數(shù)*/{intflag=0;/*該標(biāo)志位0表示未找到相關(guān)信息,反之即找到*/Flight*p1;p1=L;/*賦航線首結(jié)點(diǎn)*/while(p1!=NULL){if(strcmp(p1->Flight_No,key)==0)/*不包括當(dāng)前航線*/{flag=1;p2=p1;break;}p1=p1->Next;/*指向下一航班結(jié)點(diǎn)
14、*/if(p1!=NULL)/*遇結(jié)束符不作統(tǒng)計(jì)范圍*/Flight_No++;}returnflag;}/*---------------航班查找函數(shù)------