航空訂票系統(tǒng)C數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告_第1頁
航空訂票系統(tǒng)C數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告_第2頁
航空訂票系統(tǒng)C數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告_第3頁
航空訂票系統(tǒng)C數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告_第4頁
航空訂票系統(tǒng)C數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一 需求分析: 通過此系統(tǒng)可以實(shí)現(xiàn)如下功能:1. 航班信息錄入每個(gè)航班信息包括航班號、起飛時(shí)間、降落時(shí)間、起飛地點(diǎn)、將落地點(diǎn)、票價(jià)、折扣、剩余票量。通過剩余票量可以確定該航班是否已滿。2. 航班信息查詢通過航班號或者起飛地點(diǎn)、降落地點(diǎn)查詢所需要的航班信息。3. 訂票輸入姓名和所要訂的航班的航班號訂票。4. 退票輸入姓名和所訂的航班的航班號辦理退票。5. 修改航班信息輸入航班號修改該航班的起飛和降落時(shí)間以修改航班的起降時(shí)間。6. 退出退出的同時(shí)將信息寫入文件。二 總體設(shè)計(jì):結(jié)構(gòu)體:struct flight /航班信息int a1; /航班號 string a2; /起飛時(shí)間 string a3

2、; /降落時(shí)間char a410; /起飛城市char a510; /降落城市int a6; /價(jià)格 int a7; /票價(jià)折扣 int a8; /余票fl10;struct customer /客戶信息char name10; /定義字符型數(shù)組姓名name10 int seat; /定義整型變量座位號seat int num; /定義整型變量航班號numchar no18; /證件號noint ps; /訂票數(shù)psstring qfs; /起飛時(shí)間qfsstring jls; /降落時(shí)間jlschar qfd10; /起飛城市qfdchar jld10; /降落城市jldint pj; /票

3、價(jià)pjcu200;使用的函數(shù):void luru(); /聲明錄入函數(shù)void chaxun(); /聲明查詢函數(shù)void chaxun1(); /聲明查詢方式1函數(shù)void chaxun2(); /聲明按查詢方式2函數(shù)void dingpiao(); /聲明訂票函數(shù)void tuipiao(); /聲明退票函數(shù)void xiugai(); /聲明修改函數(shù)void menu(); /聲明主菜單函數(shù)void duqu(); /聲明文件讀取函數(shù)void tuichu(); /聲明退出并保存函數(shù)通過各個(gè)函數(shù)的調(diào)用以實(shí)現(xiàn)航班信息錄入,航班信息查詢,訂票,退票,修改航班信息。三 詳細(xì)設(shè)計(jì):1. 系統(tǒng)結(jié)構(gòu)

4、圖(功能模塊圖)主函數(shù)航班信息修改退出系統(tǒng)航班退票航班訂票航班信息查詢航班信息錄入2. 功能模塊說明:(1). 將航班的基本信息錄入到系統(tǒng)中。(2). 根據(jù)航班號或者根據(jù)起飛地點(diǎn)、降落地點(diǎn)查詢所需航班信息。(3). 輸入姓名和所要訂的航班的航班號訂票。(4). 輸入姓名和所訂的航班的航班號辦理退票。(5). 輸入航班號修改該航班的起飛和降落時(shí)間以修改航班的起降時(shí)間。(6). 退出的同時(shí)將信息寫入文件。四 代碼:#include<iostream>#include<string>#include<fstream>using namespace std;stru

5、ct flight /航班信息int a1; /航班號 string a2; /起飛時(shí)間 string a3; /降落時(shí)間char a410; /起飛城市char a510; /降落城市int a6; /價(jià)格 int a7; /票價(jià)折扣 int a8; /余票fl10;struct customer /客戶信息char name10; /定義字符型數(shù)組姓名name10 int seat; /定義整型變量座位號seat int num; /定義整型變量航班號numchar no18; /證件號noint ps; /訂票數(shù)psstring qfs; /起飛時(shí)間qfsstring jls; /降落時(shí)

6、間jlschar qfd10; /起飛城市qfdchar jld10; /降落城市jldint pj; /票價(jià)pjcu200;int cnum=3;int len=0;int A=0;void luru(); /聲明錄入函數(shù)void chaxun(); /聲明查詢函數(shù)void chaxun1(); /聲明查詢方式1函數(shù)void chaxun2(); /聲明按查詢方式2函數(shù)void dingpiao(); /聲明訂票函數(shù)void tuipiao(); /聲明退票函數(shù)void xiugai(); /聲明修改函數(shù)void menu(); /聲明主菜單函數(shù)void duqu(); /聲明文件讀取函數(shù)v

7、oid tuichu(); /聲明退出并保存函數(shù)void luru() /航班信息錄入 cout<<"請輸入航班信息:"<<endl;cout<<"請輸入航班號"<<endl;cin>>fllen.a1; /錄入航班號 cout<<"起飛時(shí)間"<<endl;cin>>fllen.a2; /錄入起飛時(shí)間cout<<"降落時(shí)間"<<endl;cin>>fllen.a3; /錄入降落時(shí)間co

8、ut<<"起飛城市"<<endl;cin>>fllen.a4; /錄入起飛城市cout<<"降落城市"<<endl;cin>>fllen.a5; /錄入降落城市cout<<"票價(jià)"<<endl;cin>>fllen.a6; /錄入票價(jià)cout<<"折扣"<<endl;cin>>fllen.a7; /錄入機(jī)票折扣cout<<"剩余票量"<

9、<endl;cin>>fllen.a8; /錄入剩余票量len+; cout<<"請選擇所要進(jìn)行的操作"<<endl; menu(); /錄入完成跳轉(zhuǎn)回菜單選擇操作void chaxun() /查詢system("cls");cout<<"請選擇查詢方式"<<endl;cout<<"1.按航班號查詢"<<endl;cout<<"2.按城市查詢"<<endl;int t;cin>

10、>t; /選擇查詢方式switch(t)case 1:chaxun1();break;case 2:chaxun2();break;default:cout<<"輸入的數(shù)據(jù)有誤,請重新輸入!"<<endl;menu(); /輸入錯誤返回主菜單重新輸入break;void chaxun1() /按航班號查詢航班信息 int n;cout<<"請輸入要查詢的航班號:"<<endl;cin>>n;for(int j=0;j<len;j+)if(flj.a1=n)cout<<&q

11、uot;*航班信息*"<<endl<<"航班號:"<<flj.a1<<'t'<<"起飛時(shí)間:"<<flj.a2<<'t'<<"降落時(shí)間:"<<flj.a3<<'t'<<"起飛城市:"<<flj.a4<<'t'<<"降落城市:"<<flj.a5&l

12、t;<'t'<<"票價(jià):"<<flj.a6<<'t'<<"折扣:"<<flj.a7<<'t'<<"剩余票量:"<<flj.a8<<endl;break; /輸出航班信息elsecout<<"沒有對應(yīng)的航班!"<<endl;getchar();menu();void chaxun2() /按起飛城市和降落城市查詢航班信息char m1

13、10,m210;int j;cout<<"請輸入要查詢的起始、降落城市:"<<endl;cin>>m1>>m2; /輸入起始城市和降落城市for(j=0;j<len;j+)if(strcmp(flj.a4,m1)=0)&&(strcmp(flj.a5,m2)=0)cout<<"*航班信息*"<<endl<<"航班號:"<<flj.a1<<'t'<<"起飛時(shí)間:"

14、;<<flj.a2<<'t'<<"降落時(shí)間:"<<flj.a3<<'t'<<"起飛城市:"<<flj.a4<<'t'<<"降落城市:"<<flj.a5<<'t'<<"票價(jià):"<<flj.a6<<'t'<<"折扣:"<<flj.a

15、7<<'t'<<"剩余票量:"<<flj.a8<<endl;break;/輸出航班信息 if(j=10) cout<<"沒有對應(yīng)的航班!"<<endl;menu();void dingpiao() /訂票 char Name10; int fn;int sign=0; cout<<"請輸入你的姓名和想訂的航班號:"<<endl; cin>>Name; /輸入乘客姓名 cin>>fn; /輸入乘客所要訂

16、的航班號for(int i=0;i<len;i+)if(fli.a1=fn) if(fli.a8>0) strcpy(cuA.name,Name);cuA.num=fn;cuA.seat=fli.a8;A+;fli.a8-;sign=1;cout<<"訂票成功!"<<endl;break;if(sign) break;if(i=len)cout<<"航班號錯誤!"<<endl;void tuipiao() /退票system("cls");char Name10;int fn

17、;int sign=0; cout<<"請輸入你的姓名:"cin>>Name; /輸入乘客姓名 cout<<"請輸入航班號:"cin>>fn;cout<<endl; /輸入乘客所訂的航班的航班號 for(int i=0;i<len;i+)if(fn=fli.a1)for(int j=0;j<A;j+)if(strcmp(Name,)=0)cout<<" 退票成功!"<<endl;fli.a8+;sign=1;break;if

18、(sign)break;if(i=len) cout<<"輸入信息有誤!退票失敗"<<endl; void xiugai() /修改航班信息cout<<"輸入航班號:"<<endl; int num;cin>>num;for(int i=0;i<len;i+)if(fli.a1=num)num=i; cout<<"起飛時(shí)間:"cin>>flnum.a2;cout<<"達(dá)到時(shí)間:"cin>>flnum.a

19、3;cout<<endl;break; if(i=len)cout<<"航班號錯誤!"<<endl;void tuichu() /退出時(shí)保存錄入和更改信息 ofstream nfile2("cus.dat",ios_base:binary); /輸出方式打開文件 n(); /關(guān)閉文件ofstream infile2("cus.dat",ios_base:binary|ios_base:app); /輸入方式打開文件 for(int i=0;i<A;i+)in(reinterpret_cast&

20、lt;char *>(&cui),sizeof(customer);cout<<"寫入成功!"<<endl;/將乘客信息寫入文件in(); /關(guān)閉文件ofstream nfile1("airline.dat",ios_base:binary); /輸出方式打開文件n(); /關(guān)閉文件 ofstream infile1("airline.dat",ios_base:binary|ios_base:app); /輸出方式打開文件for( i=0;i<len;i+) in(reinterpret_

21、cast<char *>(&fli),sizeof(flight);/將航班信息寫入文件in(); /關(guān)閉文件void duqu() /讀取文件信息 ifstream infile1("airline.dat",ios_base:binary); while(in()!=EOF)in(reinterpret_cast<char *>(&fllen),sizeof(flight);/輸入方式讀取文件cout<<"*航班信息*"<<endl<<"航班號:"<

22、<fllen.a1<<'t'<<"起飛時(shí)間:"<<fllen.a2<<'t'<<"降落時(shí)間:"<<fllen.a3<<'t'<<"起飛城市:"<<fllen.a4<<'t'<<"降落城市:"<<fllen.a5<<'t'<<"票價(jià):"<&l

23、t;fllen.a6<<'t'<<"折扣:"<<fllen.a7<<'t'<<"剩余票量:"<<fllen.a8<<endl;len+; in();/關(guān)閉文件ifstream infile2("cus.dat",ios_base:binary); while(in()!=EOF)in(reinterpret_cast<char *>(&cuA+),sizeof(customer); /輸入方式讀取文件

24、in(); /關(guān)閉文件getchar();system("cls");void menu()cout<<"*航班訂票系統(tǒng)*"<<endl;cout<<""<<endl;cout<<"1.錄入航班信息"<<endl;cout<<"2.查詢航班信息"<<endl;cout<<"3.訂票"<<endl;cout<<"4.退票"<<endl;cout<<"5.修改航班信息"<<endl;cout<<"6.退出系統(tǒng)"<<endl;cout<<""<<endl;cout<<"*"<<endl;cout<<""

溫馨提示

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

最新文檔

評論

0/150

提交評論