數據結構 程序設計 機票管理系統.doc_第1頁
數據結構 程序設計 機票管理系統.doc_第2頁
數據結構 程序設計 機票管理系統.doc_第3頁
數據結構 程序設計 機票管理系統.doc_第4頁
數據結構 程序設計 機票管理系統.doc_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1 1 學 號 數據結構課程設計 設計說明書 機票管理系統 起止日期 2011 年 12 月 12 日 至 2011 年 12 月 16 日 學生姓名 班級 成績 指導教師 簽字 電子與信息工程系電子與信息工程系 2011 年年 12 月月 16 日日 1 2 天津城市建設學院 課程設計任務書 2011 2012 學年第學年第 1 學期學期 電子與信息工程 系 軟件工程 專業 班級 課程設計名稱 數據結構課程設計 設計題目 機票管理系統 完成期限 自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周 設計依據 要求及主要內容 可另加附頁 一 設計目的 熟悉各種數據結構和運算 會使用數據結構的基本操作解決一些實際問題 二 設計要求 1 重視課程設計環節 用嚴謹 科學和踏實的工作態度對待課程設計的每一項任務 2 按照課程設計的題目要求 獨立地完成各項任務 嚴禁抄襲 凡發現抄襲 抄襲者與被抄襲 者皆以零分計入本課程設計成績 凡發現實驗報告或源程序雷同 涉及的全部人員皆以零分計入本課 程設計成績 3 學生在接受設計任務后 首先要按設計任務書的要求編寫設計進程表 4 認真編寫課程設計報告 三 設計內容 機票管理系統機票管理系統 1 問題描述問題描述 一機場每天有 n 個航班 每個班次都有一班次號 1 2 3 n 固定的起飛時間 固定的路線 起始站 終點站 大致的飛行車時間 固定的額定載客量 如 班次 起飛時間 起點站 終點站 飛行時間 額定載量 已定票人數 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 試設計一個機票管理系統 對機場的售票情況進行管理 2 基本要求基本要求 功能要求 1 3 1 錄入班次信息 信息用文件保存 可不定時地增加班次數據 2 瀏覽班次信息 可顯示出所有班次當前狀況 如果當前系統時間超過了某班次的起飛時間 則顯示 此班已發出 的提示信息 3 查詢路線 可按班次號查詢 可按終點站查詢 4 售票和退票功能 A 當查詢出已定票人數小于額定載量且當前系統時間小于起飛時間時才能售票 自動更新已售票 人數 B 退票時 輸入退票的班次 當本航班飛機未發出時才能退票 自動更新已售票人數 1 4 目錄 一 需求分析一 需求分析 4 二 問題求解二 問題求解 4 三 總體設計三 總體設計 5 1 程序設計組成框圖 5 2 程序設計流程圖 6 四 詳細設計四 詳細設計 7 1 根據飛機訂票系統的可設要求 要實現以下功能 7 2 具體的方法及函數調用的思想 7 定義要存儲的變量 7 3 方法的實現 8 五 調試與測試五 調試與測試 9 1 錄入信息時 9 2 訂票時 9 3 退票時 10 六 關鍵源程序清單和執行結果六 關鍵源程序清單和執行結果 10 1 源程序 10 2 執行結果 17 七 參考文獻七 參考文獻 21 1 5 一 需求分析 本課程設計的名稱是機票管理系統 本系統主要是描述了機票管理的一些具體情況 包括錄入航 班 查詢情況和訂票以及退票 查詢航班號是否存在 確定訂票管理根據飛機的載量判斷是否有剩余 的載量 當載量小于飛機的載量可以訂票 有特殊情況發生時會伴隨著退票的發生 這就是產生訂票 系統產生的原因 二 問題求解 當我們遇到飛機訂票這件事情的時候 我們通常發生的地點是飛機場 首先 我們應該到售票大 廳去購買飛機票 因此 我根據我學過的 C 中學過的函數定義 它相當于其他高級語言中的高級記 錄 18 00天津廣漢2145130 26 30天津成都0 5140140 37 00天津成都0 5140120 410 00天津成都0 5140120 首先就要查詢是否有該路線的票 如果有的話則進行購買 即要通過把信息錄入 accept 方法來實 現 則要錄入航班號 prn 起飛時間 qifei 飛行時間 shijian 起始站 from 終點站 to 等 在查找 chaxun 方法中 首先定義航班號 getprn 指針 然后讀入文件信息 輸入要查詢的航班 號用指針查詢 用 strcmp 是用來比較字符串的大小 它的返回值是 char 類型 用 accept 寫入信息并存入文件 passenger txt 在讀取 dis 方法中 讀取已有的航班 航班 mainmune 輸出 訂票時 首先應輸入飛機航班號 cin prn 因為事先在列表里存儲了四個航班信息 輸入的訂 票數量 根據訂票的數量和載量做對比 strcmp 如果小于載量就可以訂票 則訂票成功 返回 訂票 成功 返回是輸出 mainmune 退票時 首先輸入航班號 prn 確認退票 就可以顯示退票成功 輸出 mainmune 三 總體設計 1 程序設計組成框圖 機票管理系統 錄入信息瀏覽信息查詢路線訂票和退票 1 6 2 程序設計流程圖 點擊查詢機票 進入訂票機票 機票信息頁面 進入退票頁面 按條件查詢 開始 載量 購票失敗允許購買 YN n 退票航班 退票失敗 允許退票 Y N 返回 1 7 四 詳細設計 1 根據訂票管理系統的可設要求 要實現以下功能 1 錄入 錄入航班情況 2 查詢 根據航班號進行查詢 3 訂票 1 當有余票時顯示剩余票數 則可以訂票成功 如果沒有載量 則訂票失敗 2 當系統時間小于起飛時間的方法沒有時間 4 退票 1 當飛機沒有起飛 則可以退票成功 2 具體的方法及函數調用的思想 1 函數實現 可以通過以下的聲明來建立如圖的數據類型 char prn 20 char qifei 20 char from 20 char to 20 char shijian 20 char zailiang 20 int piaoshu 里的變量依次表示為 航班號 起飛時間 起始站點 終點站名 飛行時間 載量 已訂票 人數 18 00天津廣漢2145130 26 30天津成都0 5140140 37 00天津成都0 5140120 410 00天津成都0 5140120 3 方法的實現 1 accept 寫入信息并存入文件 因為可設要求把數據存儲在文件中 所以必須編寫此保存方法 寫入實現方式 ofstream out passenger txt ios app 輸出方式打開文件 寫入數據添 加在文件末尾 2 dis 從文件讀取信息并顯示 read 方法是用來讀取 airpline txt 文件中航班數據的 ios in 以輸入方式打開文件 保存 passenger txt 目錄下 并且在目錄里顯示信息 3 chaxun 查詢 按航班號來查詢 1 8 根據已有的飛機信息來依據航班號信息來查詢航班 查詢到并輸出列表 4 dingpiao 訂票函數 可以根據航班的載量來判定是否可以訂票 如果當查詢出已定票人數小于額定載量 則可以訂票 輸出訂票成功 5 tuipiao 訂票函數 當訂票的時候 首先要輸入要訂票的航班號 因此在這之后應讀入在系統中的航班的航班號 航 班有沒有起飛做對比 則可以辦理退票 五 調試與測試 1 錄入信息時 定義的是字符型 注意輸入的時候不能輸入別的類型 否則不能識別 2 系統時間小于起飛時間的功能沒有實現 自己經過反復的試著把這功能實現 但是最后都是無功而返 經過同學咨詢同學也模糊 由于我 的類方法實現的 很難定義結構體時間函數 由于這個功能的缺陷 本人改編將系統的時間在主函數 里定義 測試時候顯示出來了 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 由于個人能力有限 時間有限 根據老師的要求最后決定是自己用 C 實現的 本人操作實 現 自己知道怎么實現的思路但是實際操作還是差點 另外在類中很難實現 但是要把這功能加上根 據本人能力 由于時間關系 這部分功能未能實現 六 關鍵源程序清單和執行結果 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 請輸入起點 cin ignore cin getline from 20 cout 請輸入終點 cin getline to 20 cout shijian cout zailiang cout piaoshu void display cout 航班號 t 起飛 t 起點 t 終點 t 飛行 t 載量 t 訂票數 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 機票管理系統 endl cout endl cout 1 錄入機票信息 endl cout 2 顯示所有信息 endl cout 3 按航班號查詢 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 輸出方式打開文件 寫入數據添加在文件末 尾 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 按航班號查詢 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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論