A. 請用c語言用結構體或者二維數組完成航班信息管理系統
需要分析:
A.車尋航線:
1.根據旅客提出的起點站,終點站名輸出下列信息:航班號,票價,折扣,最多載客量,是否滿載,起飛時間,降落時間和飛行時間;
2.根據訂票乘客的姓名可以查詢所訂航班的航班號,座位號,飛行日期等信息;
3.根據航班號查詢航班的起點站,中轉站,終點站名,票價,折扣,最多載客量,是否滿載,起飛時間,降落時間和飛行時間;
B.承辦客戶提出的要求(航班號、訂票數額)查詢該航班票額情況,若有餘票,則為客戶辦理訂票手續,輸出座位號,需付款項信息;若已滿員或余票額少於盯票額,則需重新詢問客戶要求。若需要,可登記排隊候補;
C.根據客戶提供的情況(日期、航班),為客戶辦理退票手續。(然後查詢該航班是否有人排隊候補,首先詢問排第一的客戶,若所退票額所能滿足他的要求,則為他辦理訂票手續,否則依次詢問其他排隊候補客戶);
E.內部人員對航班情況的控制:
可以錄入航班信息,刪除航班信息,修改航班信息,查看基本航班信息。
概要設計:
因為每個客戶名單或查詢名單都包括多個數據域,這樣就需要有一個能存儲多個數據域的數據類型來存儲,因此採用單鏈表類型。由於航線的信息是固定的,可選用結構體數組,又因為訂票與預約人數無法預計,可選用鏈表存儲信息。
線性表的單鏈表存儲結構:typedef struct LNode{
ElemType;
Struct Lnode*next;}LNode,*LinkList;
a.抽象數據類型順序表的定義如下:
ADT SqList{
數據對象:D={ai|ai∈數據類型,i=1,2,3...,n}
數據關系:R1={<ai-1,ai>|ai-1,ai∈D,i=1,2,3...,n}
基本操作:
InitList_Sq(&L)
操作結果:創建空的順序表。
CreatList_Sq(&L)
操作結果:建立順序表。
}ADT SqList
b.抽象數據類型單鏈表的定義如下:
ADT LinkList{
數據對象:D={ai|ai∈結構類型,i=1,2,3...,n,n>0}
數據關系:R1={<ai-1,ai>|ai-1,ai∈D,i=1,2,3...,n}
基本操作:
InitList_L(&L)
操作結果:創建空的順序表。
}ADT LinkList
在main()里調用各個函數
2.主程序
void main(){
初始化;
do{
接受命令;
處理命令;
}while(「命令」!=「退出」);
}
3.程序的模塊調用:
三.詳細設計:
1.所有數據類型:
struct plan /*航班數據*/
{