數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-飛機(jī)航線查詢系統(tǒng)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-飛機(jī)航線查詢系統(tǒng)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-飛機(jī)航線查詢系統(tǒng)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-飛機(jī)航線查詢系統(tǒng)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-飛機(jī)航線查詢系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

題目:飛機(jī)航班信息系統(tǒng)功能:能夠?qū)崿F(xiàn)航班信息的查詢、修改、退票等操作具體要求:1)界面簡(jiǎn)潔美觀。查詢航班信息的至少兩種方式:1、按航班號(hào)查詢2、按照航線查詢用戶訂票或者退票之后,與之對(duì)應(yīng)的相關(guān)航班信息要跟著改變。當(dāng)沒(méi)有乘客要乘坐的航班時(shí),系統(tǒng)能夠智能提示用戶的其他路線選擇。具體的代碼實(shí)現(xiàn):#include"stdio.h”#include"stdlib.h”#include<string.h>//包含字符串函數(shù)處理頭文件#defineN50#defineM50structair//定義結(jié)構(gòu)體數(shù)組{charnumber[10];charstart[10];charend[10];chartime1[8];chartime2[8];intprice;intcount;intnum;}s[N];intm;struct{charname[20];charID[7];intt;intco;}c[M];voidsave()//保存模塊程序{inti;FILE*fp;//定義文件指針if((fp=fopen(”info.txt”,”wb"))=0)//打開(kāi)文件并判斷是否出錯(cuò){printf("創(chuàng)建文件失敗!\n");//打印出錯(cuò)提示exit(0);}for(i=0;i<m;i++)if(fwrite(&s[i],sizeof(structair),1,fp)==0)//向文件寫入數(shù)據(jù),并判斷是否出錯(cuò)printf("向文件輸入數(shù)據(jù)失敗!\n\n");fclose(fp);//關(guān)閉文件}voidread()//從文件讀取信息模塊(inti;FILE*fp;//定義文件指針if((fp=fopen(”info.txt”,”rb"))=0)//打開(kāi)文件,并判斷是否出錯(cuò)(printf("出錯(cuò),請(qǐng)檢查文件是否存在\n");//打印出錯(cuò)提示exit(0);}for(i=0;i<m;i++)(fread(&s[i],sizeof(structair),1,fp);//從文件中讀取信息}fclose(fp);//關(guān)閉文件}voidmenu()(printf(- ★---您好,歡迎進(jìn)入中國(guó)民航管理系統(tǒng)!---★\n");printf(”==================================\n");printf("-- ☆1.輸入航班信息☆——----\n");printf("--------☆2.瀏覽航班信息☆--------\n");printf("-- ☆3.修改航班信息☆——----\n");printf("-- ☆4.查找航班信息☆——----\n");printf("-- ☆5.刪除航班信息☆--------\n");printf("--------☆6.訂票信息 ☆--------\n");printf("--------☆7.退票信息 ☆--------\n");printf("-- ☆0.退出 ☆——----\n");printf(”==================================\n");}voidInput()(inti;printf("你需要輸入多少個(gè)航班信息?\n");scanf("%d",&m);printf("請(qǐng)依次輸入航班信息:\n");printf("航班號(hào)起點(diǎn)站終點(diǎn)站起飛時(shí)間抵達(dá)時(shí)間票價(jià)折扣總票數(shù)^”);for(i=0;i<m;i++)

scanf("%s”,s[i].number);〃讀取航班號(hào)scanf("%s”,s[i].start);//讀取起始站scanf("%s”,s[i].end);//讀取終點(diǎn)站scanf("%s”,s[i].time1);//讀取時(shí)間scanf("%s”,s[i].time2);scanf("%d”,&s[i].price);scanf("%d”,&s[i].count);//讀取機(jī)票數(shù)scanf("%d”,&s[i].num);}save();printf(-輸入后的航班信息如下\n");read();printf("|航班號(hào)|起點(diǎn)站|終點(diǎn)站|起飛時(shí)間|抵達(dá)時(shí)間|票價(jià)|折扣|剩余票數(shù)\/);for(i=0;i<m;i++){printf("%3s”,s[i].number);printf("%8s",s[i].start);printf("%8s”,s[i].end);printf("%8s”,s[i].time1);printf("%8s”,s[i].time2);printf("%8d”,s[i].price);printf("%7d折”,s[i].count);printf("%8d”,s[i].num);printf("\n");}}voidDisplay(intm){inti;printf(read();printf(“““““““““““““““““““““““個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)**********************************\n);printf(printf("|航班號(hào)|起點(diǎn)站|終點(diǎn)站|起飛時(shí)間|抵達(dá)時(shí)間|票價(jià)|折扣|剩余票數(shù)\n");printf(“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*\n");for(i=0;i<m;i++){printf("%3s”,s[i].number);printf("%8s",s[i].start);printf("%8s”,s[i].end);printf("%8s”,s[i].time1);printf("%8s”,s[i].time2);printf("%8d”,s[i].price);printf("%8d",s[i].count);printf("%8d",s[i].num);printf("\n");}printf(**************************************************************************\n,}voidPrint(inti){printf("%-6s%8s%8s%8s%8s%6d%6d%6d\n”,s[i].number,s[i].start,s[i].end,s[i].time1,s[i].time2,s[i].price,s[i].count,s[i].num);printf(" \n");}voidsearch。//查詢模塊{charname1[10];charname2[10];charcode[10];inti,k;read();printf("請(qǐng)選擇查找方式:\n");//打印查詢方式菜單printf("1.按航班號(hào)查找\/);printf("2.按航線查找\/);printf("0.返回\n");printf("請(qǐng)?jiān)?-2中選擇:\n");scanf("%d”,&k);//讀取查找方式if(k>0){switch(k){case1:printf("請(qǐng)輸入航班號(hào):\n");scanf("%s”,code);break;case2:printf("請(qǐng)輸入起始站名稱:\n");scanf("%s”,name1);//讀取起始站printf(”請(qǐng)輸入終點(diǎn)站名稱:\n");scanf("%s”,name2);break;}}read();//調(diào)用讀取函數(shù)for(i=0;i<m;i++)(if(strcmp(s[i].number,code)==0){ printf("查找航班信息成功”);Print(i);break;}if(strcmp(s[i].start,name1)==0&&strcmp(s[i].end,name2)==0)//按終點(diǎn)站起始站判斷輸出條件{ printf("查找航班信息成功!\n");Print(i);break;}elseif(strcmp(s[i].start,name1)==0||strcmp(s[i].end,name2)==0){printf(-查找信息失?。](méi)有您要查詢的航線,您還可以考慮乘坐以下航班\n,Print(i);}}}voidModify()//修改模塊{struct〃定義結(jié)構(gòu)體{charch[10];charname1[10];charname2[10];chartime1[8];chartime2[8];intprice;intcount;intnum;}mo;chara;inti,n;read();//調(diào)用讀取模塊//Display(m);do{printf("請(qǐng)選擇修改方式:\n");printf("*1,按航班號(hào)修改:\n");printf("*2,按航線修改:\n");printf("請(qǐng)選擇1或2,按回車鍵確認(rèn):\n");scanf("%d”,&n);//讀取修改方式switch(n){case1:printf("請(qǐng)輸入航班號(hào):\n");scanf("%s”,mo.ch);//讀取航班號(hào)break;case2:printf("請(qǐng)輸入起始站:\n");scanf("%s”,1);//讀取起始站printf("請(qǐng)輸入終點(diǎn)站:\n");scanf("%s”,2);//讀取終點(diǎn)站break;}for(i=0;i<m;i++){if(strcmp(s[i].start,1)==0&&strcmp(s[i].end,2)==0)/判斷輸出條件{Print(i);break;}if(strcmp(s[i].number,mo.ch)==0)//判斷輸出條件{Print(i);break;}}printf(-請(qǐng)輸入新航班號(hào)、起始站、終點(diǎn)站、起飛時(shí)間、抵達(dá)時(shí)間、價(jià)格、折扣、機(jī)票數(shù):\n");scanf("%s”,mo.ch);〃讀取航班號(hào)scanf("%s”,1);//讀取起始站scanf("%s”,2);//讀取終點(diǎn)站scanf("%s”,mo.time1);//讀取時(shí)間scanf("%s”,mo.time2);scanf("%d”,&mo.price);scanf("%d”,&mo.count);//讀取機(jī)票數(shù)scanf("%d”,&mo.num);strcpy(s[i].number,mo.ch);strcpy(s[i].start,1);//替換其始站strcpy(s[i].end,2);//替換終點(diǎn)站strcpy(s[i].time1,mo.time1);//替換時(shí)間strcpy(s[i].time2,mo.time2);s[i].price=mo.price;s[i].count=mo.count;//替換機(jī)票數(shù)s[i].num=mo.num;save();//調(diào)用保存模塊printfC修改信息成功!\n");read();printf("修改后的航班信息為\n");printf("|航班號(hào)|起點(diǎn)站|終點(diǎn)站|起飛時(shí)間|抵達(dá)時(shí)間|票價(jià)|折扣|剩余票數(shù)\n");for(i=0;i<m;i++)Print(i);printf("是否繼續(xù)?請(qǐng)鍵入Y或N以回車鍵結(jié)束:\n");scanf("%c”,&a);}while(a=='Y');//判斷結(jié)束}voidBook()〃實(shí)現(xiàn)用戶訂票功能(charch[10];intd,i=0,t;Display(m);printf("請(qǐng)輸入您要訂的航班號(hào)碼\n");scanf("%s”,ch);while(i<m&&(strcmp(s[i].number,ch)!=0))i++;if(i>m){printf(-沒(méi)有找到您所要訂的航班!請(qǐng)重新輸入\/);scanf("%s”,ch);}elseif(strcmp(s[i].number,ch)==0)t=i;printf(-請(qǐng)輸入你要訂的票數(shù)\n");scanf("%d”,&d);if(d<0){printf(-請(qǐng)輸入有效的機(jī)票數(shù)!\n");//判斷機(jī)票數(shù)是否出錯(cuò)scanf("%d”,&d);}H:i=0;do{if(s[i].num!=0&&s[i].num>=d)//判斷是否出錯(cuò){s[i].num=s[i].num-d;c[i].t=d;c[i].co=t;printf("請(qǐng)輸入您的姓名:”);scanf("%s”,c[i].name);printf(-請(qǐng)輸入您的證件號(hào)碼(6位數(shù)字)\n");scanf("%s”,c[i].ID);system("cls");//save();//調(diào)用保存函數(shù)printf("訂票成功!\n\n");break;}if(s[i].count<d)//判斷是否出錯(cuò){printf(-對(duì)不起,您所訂的航班剩余機(jī)票不夠,請(qǐng)重新輸入機(jī)票數(shù)量:\n");scanf("%d”,&d);gotoH;}i++;}while(i<m);//read();printf("下面是已訂機(jī)票的顧客的相關(guān)信息:\n");printf(" \n");printf(-姓名證件號(hào)碼訂票數(shù)量訂單編號(hào)\/);printf(" \n");printf("%-6s%6s%6d%6d\n”,c[i].name,c[i].ID,c[i].t,c[i].co);Print(c[i].co);}voidBack()//退票模塊{charp[10];intn,i=0;read();//調(diào)用查詢模塊printf("請(qǐng)輸入您要退訂的航班號(hào)\/);scanf("%s”,p);while(i<m&&strcmp(s[i].number,p)!=0)i++;if(i<m){printf(-請(qǐng)輸入您要退的機(jī)票數(shù)目:\n");scanf("%d”,&n);//輸入所退票數(shù)}if(n<0)//判斷票數(shù)是否有效{printf(-請(qǐng)輸入有效的機(jī)票數(shù):”);

scanf("%d”,&n);}s[i].num=s[i].num+n;printf("退票成功!\n");//save();〃調(diào)用保存模塊}voidDelet(int&m)//刪除模塊(chara;charcity1[20],city2[20],no[10];intk,i,j;read();do(printf("請(qǐng)選擇刪除以方式回車鍵結(jié)束:\n");//打印刪除方式菜單printf("*1.按航班號(hào)刪除\/);printf("*2.按航線刪除");printf("*0.返回\n");printf("請(qǐng)輸入您的選項(xiàng)(0-2):\n");scanf("%d”,&k);//讀取刪除方式switch(k)(case1:printf(-請(qǐng)輸入您要?jiǎng)h除的航班號(hào):\n");scanf("%s”,no);//讀取航班號(hào)for(i=0;i<m;i++)if(strcmp(s[i].number,no)==0)(for(j=i;j<m;j++)s[j]=s[j+1];m--;save();//調(diào)用讀取函數(shù)printf(-刪除信息成功,剩余航班信息如下\n");printf(read();printf(“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*\n");printf(printf("l航班號(hào)I起點(diǎn)站I終點(diǎn)站I起飛時(shí)間I抵達(dá)時(shí)間I票價(jià)I折扣I剩余票數(shù)(張)\n”);printf(“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*\n");printf(for(i=0;i<m;i++)

Print(i);printf(“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)*\n");}break;//跳出循環(huán)case2:printf("請(qǐng)輸入要?jiǎng)h除的航班起始站名稱:\n");scanf("%s”,city1);//讀取起始站printf(-請(qǐng)輸入要?jiǎng)h除的航班終點(diǎn)站名稱:\n");scanf("%s”,city2);//讀取終點(diǎn)站for(i=0;i<m;i++)if(strcmp(s[i].start,city1)==0&&strcmp(s[i].end,city2)==0){for(j=i;j<m;j++)s[j]=s[j+1];m--;save();//調(diào)用讀取函數(shù)printf(”刪除信息成功,剩余航班信息如下\n");read();1f“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““prinf(**************************************************************************\n,printf("|航班號(hào)|起點(diǎn)站|終點(diǎn)站|起飛時(shí)間|抵達(dá)時(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論