課程設計報告 航空訂票系統

2022-09-09 05:06:03 字數 2412 閱讀 4481

資料結構課程設計

設計題目:航空訂票系統

1. 課程設計題目:

航空訂票系統

2. 分工人員及分工

2.1. 總體設計

系統總體功能模組如下圖:

2.2. 系統檔案及函式組成及人員分工如下表:

3. 軟硬體執行環境

軟體: microsoft visual c++6.0

硬體: pentium(r) dual-core cpu e5300 @2.60ghz

2.60ghz 1.96gb 的記憶體

4. 問題描述

根據旅客提出的終點站名輸出:航班號、飛機號、星期幾飛行,最近一天航班的日期和餘票額;

以鍊錶的方式表示分別包括:查詢航線、客票預訂和辦理退票等。設計乙個程式,對旅客輸入任意的航班,求出查詢航線、客票預訂和辦理退票等資訊的輸出,或得出沒有票或者航班的結論。

5. 需求分析

1. 每條航線所涉及的資訊有:終點站名、航班號、飛機號、飛行日(星期幾)、乘員定額、餘票量、已訂票的客戶名單(包括姓名、訂票量、艙位等級1,2或3)以及等候替補的客戶名單(包括姓名、所需票量);

2. 全部資料可以只放在記憶體中;

3. 系統能實現的操作和功能如下:

a) 查詢航線:

根據旅客提出的終點站名輸出下列資訊:航班號、飛機號、星期幾飛行,最近一天航班的日期和餘票額;

b) 承辦訂票業務:

根據客戶提出的要求(航班號、訂票數額)查詢該航班票額情況,若尚有餘票,則為客戶辦理訂票手續,輸出座位號;若已滿員或余票額少於定票額,則需重新詢問客戶要求。若需要,可登記排隊候補;

c) 退票業務:

根據客戶提供的情況(日期、航班),為客戶辦理退票手續,然後查詢該航班是否有人排隊候補,首先詢問排在第一的客戶,若所退票額能滿足他的要求,則為他辦理訂票手續,否則依次詢問其他排隊候補的客戶。

6. 演算法分析與概要設計:儲存結構、基本演算法

鍊錶和佇列

(1)顯示已初始化的全部航線資訊

(2)瀏覽已訂票客戶資訊

(3)根據客戶提出的終點站名,呼叫find()函式尋找航線資訊,

呼叫list()函式輸出航線資訊

(4)辦理訂票業務:根據客戶提供的航班號進行查詢航線資訊,若客戶訂票額超過乘員定票總額,退出,若客戶訂票額末超過餘票量,訂票成功並登記資訊,在訂票乘員名單域中新增客戶資訊;如果暫時沒有票,詢問客戶是否要排隊等侯,如果是,則在等候佇列增加該客戶的訂票資訊。

(5)辦理退票業務:呼叫查詢函式,根據客戶提供的航線進行搜尋根據客戶提供的姓名到訂票客戶名單域進行查詢。退票成功後,重新將航線名單域指向訂票單鏈表的頭指標。

根據佇列中從出的客戶資訊判斷是否滿足要求,如果滿足,則將該客戶的資訊插入到乘客資訊鍊錶中。

(6)退出本系統。

7. 演算法的詳細設計

(1)顯示已初始化的全部航線資訊

(2)瀏覽已訂票客戶資訊

(3)查詢航線

(4)辦理訂票業務

(5)辦理退票業務

8. 測試資料和結果

9. 總結:

1、總體過程

編譯和除錯工具:選擇visual c++6.0,該工具穩定,其中有乙個強大的除錯工具,但不是熟悉。還需要進一步的練習。

2 、在一周半的時間裡,不斷地對程式及各模組進行修改、編譯、除錯、執行,其間遇到很多問題:

(1)因能力有限,在編寫的時候只使用了相對較為簡單的基礎語言 ,代替了相對較為複雜的語言,降低了執行效率。

(2)程式在起初設計的時候,經常出現溢位錯誤,而且不只一處。為了修正這些溢位錯誤,耗費了大量的時間,修正解釋之後再看源程式,才發現原來只是因為開始的函式定義的資料型別出現了問題,對函式的定義不清楚,字元的不正確定義造成了後期大量的糾錯工作。

(3)由於忘記了一些c語言的規範使得在除錯過程中一些錯誤沒有發現。例如,呼叫函式時,陣列只需要傳遞陣列名即可;字元『0』和整形的0是不同的文明不可以直接對其畫等號。

(4)測試用例具有一定的廣泛性。執行程式時輸入了多種不同字元資訊,經過多次修改結果達到了預期效果。說明程式具有一定的可靠性和穩定性。

3、通過除錯我自己認為,在哈夫曼編碼解碼系統中用出棧入棧進行哈夫曼解碼編碼解碼要簡單於使用陣列,而使用結構體陣列來儲存待編譯的字元,編碼解碼時通過結構體陣列來實現要優於使用鍊錶。

4、體會:

經過這次實習,我對除錯掌握的更加熟練了,改變了過去只除錯不知道如何對照程式語言修改程式的壞習慣,對除錯也有了新的認識,意識到了程式語言的規範性以及我們在程式設計時要有嚴謹的態度,同時在寫程式時如果加一定量的注釋,既增加了程式的可讀性,也可以使自己在讀程式時更容易。通過這次的小組設計,我們學會了通過閱讀,在別人的基礎上做適當修改最後寫出了自己的程式。在一開始著手的時候,確實發現了自己有很多東西沒學,做起來一團糟。

不過從網上學習資料結構也慢慢的發現了資料結構的強大功能,這是很有收穫的,在以後的學習路上我想我們還是應該繼續學習更加有難度的資料結構等東西的,畢竟我們現在學的只是資料結構的冰山一角。謝謝老師指點!

資料結構 航空訂票系統課程設計

資料結構課程設計 系 部 學生姓名 專業班級 學號成單績 2010年6月18日 目錄一 課程設計目的3 二 課程設計內容3 三 需求分析3 四 概要設計3 五 詳細設計及執行結果4 六 除錯情況,設計技巧及體會9 七 參考文獻9 八 附錄 原始檔10 一 課程設計目的 1 資料結構課程設計是綜合運用...

資料結構課程設計航空訂票系統

石家莊經濟學院 本科生課程設計報告書 學號 410109070219 學院資訊工程學院 專業計算機 指導教師 完成日期 2012 xx xx 試設計乙個航空客運訂票系統,方便乘客通過購票系統購買自己的所需要的飛機票,而航空客運訂票的業務活動包括 1 查詢航線 2 客票預訂 3 辦理退票。系統能實現的...

資料結構 航空訂票系統課程設計

學院軟體工程課程設計 學生姓名 專業班級 學號2015年6月18日 目錄一 課程設計目的3 二 課程設計內容3 三 需求分析3 四 概要設計3 五 詳細設計及執行結果4 六 除錯情況,設計技巧及體會9 七 參考文獻9 八 附錄 原始檔10 1 資料結構課程設計是綜合運用資料結構課程中學到的幾種典型資...