航空訂票系統(tǒng)C++數(shù)據(jù)結(jié)構(gòu)課程設計報告.docx_第1頁
航空訂票系統(tǒng)C++數(shù)據(jù)結(jié)構(gòu)課程設計報告.docx_第2頁
航空訂票系統(tǒng)C++數(shù)據(jù)結(jié)構(gòu)課程設計報告.docx_第3頁
航空訂票系統(tǒng)C++數(shù)據(jù)結(jié)構(gòu)課程設計報告.docx_第4頁
航空訂票系統(tǒng)C++數(shù)據(jù)結(jié)構(gòu)課程設計報告.docx_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、價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ù)通過各個函數(shù)的調(diào)用以實現(xiàn)航班信息錄入,航班信息查詢,訂票,退票,修改航班信息。三 詳細設計:1. 系統(tǒng)結(jié)構(gòu)

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

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

6、間jlschar qfd10; /起飛城市qfdchar jld10; /降落城市jldint pj; /票價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<<"起飛時間"<<endl;cin>>fllen.a2; /錄入起飛時間cout<<"降落時間"<<endl;cin>>fllen.a3; /錄入降落時間co

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

9、<endl;cin>>fllen.a8; /錄入剩余票量len+; cout<<"請選擇所要進行的操作"<<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'<<"起飛時間:"<<flj.a2<<'t'<<"降落時間:"<<flj.a3<<'t'<<"起飛城市:"<<flj.a4<<'t'<<"降落城市:"<<flj.a5&l

12、t;<'t'<<"票價:"<<flj.a6<<'t'<<"折扣:"<<flj.a7<<'t'<<"剩余票量:"<<flj.a8<<endl;break; /輸出航班信息elsecout<<"沒有對應的航班!"<<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'<<"起飛時間:"

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

15、7<<'t'<<"剩余票量:"<<flj.a8<<endl;break;/輸出航班信息 if(j=10) cout<<"沒有對應的航班!"<<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<<"起飛時間:"cin>>flnum.a2;cout<<"達到時間:"cin>>flnum.a

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

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

21、出方式打開文件for( i=0;i<len;i+) infile1.write(reinterpret_cast<char *>(&fli),sizeof(flight);/將航班信息寫入文件infile1.close(); /關(guān)閉文件void duqu() /讀取文件信息 ifstream infile1("airline.dat",ios_base:binary); while(infile1.peek()!=EOF)infile1.read(reinterpret_cast<char *>(&fllen),sizeof(f

22、light);/輸入方式讀取文件cout<<"*航班信息*"<<endl<<"航班號:"<<fllen.a1<<'t'<<"起飛時間:"<<fllen.a2<<'t'<<"降落時間:"<<fllen.a3<<'t'<<"起飛城市:"<<fllen.a4<<'t'<

23、;<"降落城市:"<<fllen.a5<<'t'<<"票價:"<<fllen.a6<<'t'<<"折扣:"<<fllen.a7<<'t'<<"剩余票量:"<<fllen.a8<<endl;len+; infile1.close();/關(guān)閉文件ifstream infile2("cus.dat",ios_base:

24、binary); while(infile2.peek()!=EOF)infile2.read(reinterpret_cast<char *>(&cuA+),sizeof(customer); /輸入方式讀取文件infile2.close(); /關(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<<"*"<<e

溫馨提示

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

評論

0/150

提交評論