石家莊經濟學院
本科生課程設計報告書
學號 410109070219
學院資訊工程學院
專業計算機
指導教師 ******
完成日期: 2012-xx-xx
試設計乙個航空客運訂票系統,方便乘客通過購票系統購買自己的所需要的飛機票,而航空客運訂票的業務活動包括:1.查詢航線;2.客票預訂;3.辦理退票。
【系統能實現的功能】
①錄入:由設計者錄入航班情況,資料儲存在檔案中;
②查詢航線:由使用者輸入終點站名,出發時間,輸出下列資訊:
所有可能的航班號,當天航班的餘票數目;
③承辦訂票業務:根據使用者提出的要求(航班號、出發時間、訂票數額)查詢
該航班票額情況,若尚有餘票,則為客戶辦理訂票手續,輸出座位號;已滿員或余票額少於訂票額,則需重新詢問客戶是否需要進入預約人數中。
④承辦退票業務:根據使用者提供的情況(日期、航班、票數等),為客戶辦理
退票手續。然後查詢該航班是否有人排隊候補,首先詢問排在第一的客戶,若所退票數目能滿足他的要求,則為他辦理訂票手續,否則依次詢問其他排隊候補的客戶。
【測試例項】
例子某客戶輸入訂票資訊:北京到上海 ,2023年5月3日,所需票數3張;系統輸出:所有可能航班號1000,1001,1002 餘票分別為40張,50張,55張;該客戶選擇航班號為1000的航班;則該航班餘票變為37張;
航線的情況和已訂票客戶登入在一張線性表上,分別用順序表和單鏈表實現;
adt list
資料關係 :r1 =
基本操作 :
initlist70219(&l)
操作結果:構造乙個空的線性表l;
listinsert70219(&l,i,e)
初始條件:線性表l已經存在;
操作結果:在l中第i個位置之前插入新的元素e,l的長度加1;
listdelete70219(&l,i,&e)
初始條件:線性表l已經存在且非空,
操作結果:刪除l的第i個位置的元素,並用e返回其值,l的長度減1;
}預約客戶資訊的儲存使用佇列。
adt queue
資料關係 :r1 =
約定其中a1端為隊頭,an端為佇列尾。
基本操作 :
initqueue70219( &q);
操作結果:構造乙個空佇列;
queueempty70219 (&q);
初始條件:佇列q已存在;
操作結果:若q為空佇列,則返回1,否則返回 0;
enqueue70219( &q, &e);
初始條件:佇列q已存在;
操作結果:插入元素e為q的新隊尾元素;
dequeue70219(&q,&e);
初始條件:佇列q已存在,且非空;
操作結果:刪除q的隊頭元素,並用e返回其值。
gedhead70219(&q,&e);
初始條件:佇列q已存在,且非空;
操作結果:取佇列的隊頭元素,用e返回;
}航空系統用到的其他的函式:
void entry70219();
操作結果:初始化錄入功能
void search70219();
初始條件:初始化錄入成功
操作結果:通過始發地和終點站查詢
void book70219();
初始條件:初始化錄入成功
操作結果:實現訂票
void returnticket70219();
初始條件:已經成功預訂機票;
操作結果:實現退票;
int main()
} while(n==1||n==2||n==3||n==4);
return 0;
}已訂票客戶的單鏈表儲存結構
typedef struct bookedbooked,*linklist;
預約客戶的佇列儲存結構
typedef struct yuyueyuyue,*qnode;
typedef struct linkqueue;
每條航線是這張表上的乙個記錄,包含8個域、其中乘員名單域為指向乘員名單鍊錶的頭指標,等候替補的客戶名單域為分別指向隊頭和隊尾的指標。
航班的相關資訊使用順序表儲存結構
typedef struct hangxian hangxian;
1鍊錶的操作:
1.1初始化單鏈表來儲存訂票客戶的資訊:
申請帶有頭結點的單鏈表;
如果申請失敗則退出程式;
頭結點的下乙個指標為空
返回值為初始化的頭結點指標;
linklist initlist70219(linklist &la)
1.2插入訂票客戶的資訊:、
該節點指標域儲存la的指標域的指標;
la的指標域儲存新申請的節點的指標;
void lianbiaoinsert70219(linklist &la,linklist &s)
1.3刪除退票客戶資訊:
傳入的刪除節點的前乙個節點的位址;
刪除傳入的指標的後乙個節點;
釋放該節點;
void lianbiaodelete70219(linklist &s)
2佇列的操作:
2.1初始化佇列
為頭尾指標申請乙個頭節點;
申請失敗則退出;
此時頭結點指標域為空;
返回q值;
linkque initqueue70219(linkque &q)
2.2 插入預約客戶的資訊:
插入節點的指標域為空;
隊尾指標中的指標域儲存傳入的節點位址;
隊尾指標儲存傳入節點的位址;
void enqueue70219(linkque &q,qnode p)
2.3刪除佇列的首元素,即第乙個預約的客戶:
判斷是否為空佇列;
資料結構 航空訂票系統課程設計
資料結構課程設計 系 部 學生姓名 專業班級 學號成單績 2010年6月18日 目錄一 課程設計目的3 二 課程設計內容3 三 需求分析3 四 概要設計3 五 詳細設計及執行結果4 六 除錯情況,設計技巧及體會9 七 參考文獻9 八 附錄 原始檔10 一 課程設計目的 1 資料結構課程設計是綜合運用...
資料結構 航空訂票系統課程設計
學院軟體工程課程設計 學生姓名 專業班級 學號2015年6月18日 目錄一 課程設計目的3 二 課程設計內容3 三 需求分析3 四 概要設計3 五 詳細設計及執行結果4 六 除錯情況,設計技巧及體會9 七 參考文獻9 八 附錄 原始檔10 1 資料結構課程設計是綜合運用資料結構課程中學到的幾種典型資...
資料結構課程設計航空訂票系統
總體設計 通過此系統可以實現如下功能 1 錄入 可以錄入航班情況 資料儲存在乙個資料檔案中 2 查詢 可以查詢某個航線的情況 如,輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否滿倉 可以輸入起飛抵達城市,查詢飛機航班情況 3 訂票 訂票情況存在乙個資料檔案中 可以訂票,如果...