數(shù)據(jù)結(jié)構(gòu) 程序設(shè)計(jì) 機(jī)票管理系統(tǒng).doc_第1頁
數(shù)據(jù)結(jié)構(gòu) 程序設(shè)計(jì) 機(jī)票管理系統(tǒng).doc_第2頁
數(shù)據(jù)結(jié)構(gòu) 程序設(shè)計(jì) 機(jī)票管理系統(tǒng).doc_第3頁
數(shù)據(jù)結(jié)構(gòu) 程序設(shè)計(jì) 機(jī)票管理系統(tǒng).doc_第4頁
數(shù)據(jù)結(jié)構(gòu) 程序設(shè)計(jì) 機(jī)票管理系統(tǒng).doc_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1 1 學(xué) 號(hào) 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 設(shè)計(jì)說明書 機(jī)票管理系統(tǒng) 起止日期 2011 年 12 月 12 日 至 2011 年 12 月 16 日 學(xué)生姓名 班級(jí) 成績(jī) 指導(dǎo)教師 簽字 電子與信息工程系電子與信息工程系 2011 年年 12 月月 16 日日 1 2 天津城市建設(shè)學(xué)院 課程設(shè)計(jì)任務(wù)書 2011 2012 學(xué)年第學(xué)年第 1 學(xué)期學(xué)期 電子與信息工程 系 軟件工程 專業(yè) 班級(jí) 課程設(shè)計(jì)名稱 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 設(shè)計(jì)題目 機(jī)票管理系統(tǒng) 完成期限 自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周 設(shè)計(jì)依據(jù) 要求及主要內(nèi)容 可另加附頁 一 設(shè)計(jì)目的 熟悉各種數(shù)據(jù)結(jié)構(gòu)和運(yùn)算 會(huì)使用數(shù)據(jù)結(jié)構(gòu)的基本操作解決一些實(shí)際問題 二 設(shè)計(jì)要求 1 重視課程設(shè)計(jì)環(huán)節(jié) 用嚴(yán)謹(jǐn) 科學(xué)和踏實(shí)的工作態(tài)度對(duì)待課程設(shè)計(jì)的每一項(xiàng)任務(wù) 2 按照課程設(shè)計(jì)的題目要求 獨(dú)立地完成各項(xiàng)任務(wù) 嚴(yán)禁抄襲 凡發(fā)現(xiàn)抄襲 抄襲者與被抄襲 者皆以零分計(jì)入本課程設(shè)計(jì)成績(jī) 凡發(fā)現(xiàn)實(shí)驗(yàn)報(bào)告或源程序雷同 涉及的全部人員皆以零分計(jì)入本課 程設(shè)計(jì)成績(jī) 3 學(xué)生在接受設(shè)計(jì)任務(wù)后 首先要按設(shè)計(jì)任務(wù)書的要求編寫設(shè)計(jì)進(jìn)程表 4 認(rèn)真編寫課程設(shè)計(jì)報(bào)告 三 設(shè)計(jì)內(nèi)容 機(jī)票管理系統(tǒng)機(jī)票管理系統(tǒng) 1 問題描述問題描述 一機(jī)場(chǎng)每天有 n 個(gè)航班 每個(gè)班次都有一班次號(hào) 1 2 3 n 固定的起飛時(shí)間 固定的路線 起始站 終點(diǎn)站 大致的飛行車時(shí)間 固定的額定載客量 如 班次 起飛時(shí)間 起點(diǎn)站 終點(diǎn)站 飛行時(shí)間 額定載量 已定票人數(shù) 1 8 00 天津 廣漢 2 145 130 2 6 30 天津 成都 0 5 140 140 3 7 00 天津 成都 0 5 140 120 4 10 00 天津 成都 0 5 140 120 試設(shè)計(jì)一個(gè)機(jī)票管理系統(tǒng) 對(duì)機(jī)場(chǎng)的售票情況進(jìn)行管理 2 基本要求基本要求 功能要求 1 3 1 錄入班次信息 信息用文件保存 可不定時(shí)地增加班次數(shù)據(jù) 2 瀏覽班次信息 可顯示出所有班次當(dāng)前狀況 如果當(dāng)前系統(tǒng)時(shí)間超過了某班次的起飛時(shí)間 則顯示 此班已發(fā)出 的提示信息 3 查詢路線 可按班次號(hào)查詢 可按終點(diǎn)站查詢 4 售票和退票功能 A 當(dāng)查詢出已定票人數(shù)小于額定載量且當(dāng)前系統(tǒng)時(shí)間小于起飛時(shí)間時(shí)才能售票 自動(dòng)更新已售票 人數(shù) B 退票時(shí) 輸入退票的班次 當(dāng)本航班飛機(jī)未發(fā)出時(shí)才能退票 自動(dòng)更新已售票人數(shù) 1 4 目錄 一 需求分析一 需求分析 4 二 問題求解二 問題求解 4 三 總體設(shè)計(jì)三 總體設(shè)計(jì) 5 1 程序設(shè)計(jì)組成框圖 5 2 程序設(shè)計(jì)流程圖 6 四 詳細(xì)設(shè)計(jì)四 詳細(xì)設(shè)計(jì) 7 1 根據(jù)飛機(jī)訂票系統(tǒng)的可設(shè)要求 要實(shí)現(xiàn)以下功能 7 2 具體的方法及函數(shù)調(diào)用的思想 7 定義要存儲(chǔ)的變量 7 3 方法的實(shí)現(xiàn) 8 五 調(diào)試與測(cè)試五 調(diào)試與測(cè)試 9 1 錄入信息時(shí) 9 2 訂票時(shí) 9 3 退票時(shí) 10 六 關(guān)鍵源程序清單和執(zhí)行結(jié)果六 關(guān)鍵源程序清單和執(zhí)行結(jié)果 10 1 源程序 10 2 執(zhí)行結(jié)果 17 七 參考文獻(xiàn)七 參考文獻(xiàn) 21 1 5 一 需求分析 本課程設(shè)計(jì)的名稱是機(jī)票管理系統(tǒng) 本系統(tǒng)主要是描述了機(jī)票管理的一些具體情況 包括錄入航 班 查詢情況和訂票以及退票 查詢航班號(hào)是否存在 確定訂票管理根據(jù)飛機(jī)的載量判斷是否有剩余 的載量 當(dāng)載量小于飛機(jī)的載量可以訂票 有特殊情況發(fā)生時(shí)會(huì)伴隨著退票的發(fā)生 這就是產(chǎn)生訂票 系統(tǒng)產(chǎn)生的原因 二 問題求解 當(dāng)我們遇到飛機(jī)訂票這件事情的時(shí)候 我們通常發(fā)生的地點(diǎn)是飛機(jī)場(chǎng) 首先 我們應(yīng)該到售票大 廳去購買飛機(jī)票 因此 我根據(jù)我學(xué)過的 C 中學(xué)過的函數(shù)定義 它相當(dāng)于其他高級(jí)語言中的高級(jí)記 錄 18 00天津廣漢2145130 26 30天津成都0 5140140 37 00天津成都0 5140120 410 00天津成都0 5140120 首先就要查詢是否有該路線的票 如果有的話則進(jìn)行購買 即要通過把信息錄入 accept 方法來實(shí) 現(xiàn) 則要錄入航班號(hào) prn 起飛時(shí)間 qifei 飛行時(shí)間 shijian 起始站 from 終點(diǎn)站 to 等 在查找 chaxun 方法中 首先定義航班號(hào) getprn 指針 然后讀入文件信息 輸入要查詢的航班 號(hào)用指針查詢 用 strcmp 是用來比較字符串的大小 它的返回值是 char 類型 用 accept 寫入信息并存入文件 passenger txt 在讀取 dis 方法中 讀取已有的航班 航班 mainmune 輸出 訂票時(shí) 首先應(yīng)輸入飛機(jī)航班號(hào) cin prn 因?yàn)槭孪仍诹斜砝锎鎯?chǔ)了四個(gè)航班信息 輸入的訂 票數(shù)量 根據(jù)訂票的數(shù)量和載量做對(duì)比 strcmp 如果小于載量就可以訂票 則訂票成功 返回 訂票 成功 返回是輸出 mainmune 退票時(shí) 首先輸入航班號(hào) prn 確認(rèn)退票 就可以顯示退票成功 輸出 mainmune 三 總體設(shè)計(jì) 1 程序設(shè)計(jì)組成框圖 機(jī)票管理系統(tǒng) 錄入信息瀏覽信息查詢路線訂票和退票 1 6 2 程序設(shè)計(jì)流程圖 點(diǎn)擊查詢機(jī)票 進(jìn)入訂票機(jī)票 機(jī)票信息頁面 進(jìn)入退票頁面 按條件查詢 開始 載量 購票失敗允許購買 YN n 退票航班 退票失敗 允許退票 Y N 返回 1 7 四 詳細(xì)設(shè)計(jì) 1 根據(jù)訂票管理系統(tǒng)的可設(shè)要求 要實(shí)現(xiàn)以下功能 1 錄入 錄入航班情況 2 查詢 根據(jù)航班號(hào)進(jìn)行查詢 3 訂票 1 當(dāng)有余票時(shí)顯示剩余票數(shù) 則可以訂票成功 如果沒有載量 則訂票失敗 2 當(dāng)系統(tǒng)時(shí)間小于起飛時(shí)間的方法沒有時(shí)間 4 退票 1 當(dāng)飛機(jī)沒有起飛 則可以退票成功 2 具體的方法及函數(shù)調(diào)用的思想 1 函數(shù)實(shí)現(xiàn) 可以通過以下的聲明來建立如圖的數(shù)據(jù)類型 char prn 20 char qifei 20 char from 20 char to 20 char shijian 20 char zailiang 20 int piaoshu 里的變量依次表示為 航班號(hào) 起飛時(shí)間 起始站點(diǎn) 終點(diǎn)站名 飛行時(shí)間 載量 已訂票 人數(shù) 18 00天津廣漢2145130 26 30天津成都0 5140140 37 00天津成都0 5140120 410 00天津成都0 5140120 3 方法的實(shí)現(xiàn) 1 accept 寫入信息并存入文件 因?yàn)榭稍O(shè)要求把數(shù)據(jù)存儲(chǔ)在文件中 所以必須編寫此保存方法 寫入實(shí)現(xiàn)方式 ofstream out passenger txt ios app 輸出方式打開文件 寫入數(shù)據(jù)添 加在文件末尾 2 dis 從文件讀取信息并顯示 read 方法是用來讀取 airpline txt 文件中航班數(shù)據(jù)的 ios in 以輸入方式打開文件 保存 passenger txt 目錄下 并且在目錄里顯示信息 3 chaxun 查詢 按航班號(hào)來查詢 1 8 根據(jù)已有的飛機(jī)信息來依據(jù)航班號(hào)信息來查詢航班 查詢到并輸出列表 4 dingpiao 訂票函數(shù) 可以根據(jù)航班的載量來判定是否可以訂票 如果當(dāng)查詢出已定票人數(shù)小于額定載量 則可以訂票 輸出訂票成功 5 tuipiao 訂票函數(shù) 當(dāng)訂票的時(shí)候 首先要輸入要訂票的航班號(hào) 因此在這之后應(yīng)讀入在系統(tǒng)中的航班的航班號(hào) 航 班有沒有起飛做對(duì)比 則可以辦理退票 五 調(diào)試與測(cè)試 1 錄入信息時(shí) 定義的是字符型 注意輸入的時(shí)候不能輸入別的類型 否則不能識(shí)別 2 系統(tǒng)時(shí)間小于起飛時(shí)間的功能沒有實(shí)現(xiàn) 自己經(jīng)過反復(fù)的試著把這功能實(shí)現(xiàn) 但是最后都是無功而返 經(jīng)過同學(xué)咨詢同學(xué)也模糊 由于我 的類方法實(shí)現(xiàn)的 很難定義結(jié)構(gòu)體時(shí)間函數(shù) 由于這個(gè)功能的缺陷 本人改編將系統(tǒng)的時(shí)間在主函數(shù) 里定義 測(cè)試時(shí)候顯示出來了 struct tm newtime char tmpbuf 128 time t lt1 time newtime localtime strftime tmpbuf 128 TODASY 9 月 d A H M n newtime printf tmpbuf 由于個(gè)人能力有限 時(shí)間有限 根據(jù)老師的要求最后決定是自己用 C 實(shí)現(xiàn)的 本人操作實(shí) 現(xiàn) 自己知道怎么實(shí)現(xiàn)的思路但是實(shí)際操作還是差點(diǎn) 另外在類中很難實(shí)現(xiàn) 但是要把這功能加上根 據(jù)本人能力 由于時(shí)間關(guān)系 這部分功能未能實(shí)現(xiàn) 六 關(guān)鍵源程序清單和執(zhí)行結(jié)果 1 源程序 1 9 include include include include using namespace std class Airplay 定義類 public char prn 20 char qifei 20 char from 20 char to 20 char shijian 20 char zailiang 20 int piaoshu public void getdetail cout prn cout qifei cout 請(qǐng)輸入起點(diǎn) cin ignore cin getline from 20 cout 請(qǐng)輸入終點(diǎn) cin getline to 20 cout shijian cout zailiang cout piaoshu void display cout 航班號(hào) t 起飛 t 起點(diǎn) t 終點(diǎn) t 飛行 t 載量 t 訂票數(shù) endl void print 顯示信息 1 10 cout prn t qifei t from t to t shijian t zailiang t pi aoshu endl char getPrn return prn void mainmune cout endl cout 機(jī)票管理系統(tǒng) endl cout endl cout 1 錄入機(jī)票信息 endl cout 2 顯示所有信息 endl cout 3 按航班號(hào)查詢 endl cout 4 售票的功能 endl cout 5 退票的功能 endl cout 6 退出 endl cout please choice endl void accept 寫入信息并存入文件 system cls mainmune Airplay rai ofstream out passenger txt ios app 輸出方式打開文件 寫入數(shù)據(jù)添加在文件末 尾 rai getdetail out write char out close void dis 從文件讀取信息并顯示 system cls mainmune Airplay rai 1 11 ifstream in passenger txt rai display while in read char in close void chaxun 按航班號(hào)查詢 system cls mainmune char prns 20 Airplay rai cout prns fstream fs passenger txt ios in ios out while fs read char rai print fs close break void shoupiao 售票的功能 system cls mainmune int i char j 20 cout j cout i system cls 1 12 mainmune Airplay rai ifstream in passenger txt rai display while in read char rai piaoshu i cout 訂票成功 void tuipiao 退票的功能 system cls mainmune char h 20 cout h system cls mainmune Airplay rai ifstream in passenger txt rai display while in read char rai piaoshu 1 cout choic

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論