日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

c语言航空订票系统程序设计,C语言航空订票系统

發布時間:2023/12/10 windows 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言航空订票系统程序设计,C语言航空订票系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言航空訂票系統

這 是 一 篇 用 C 語 言 編 寫 的 航 空 訂 票 系 統 的 論 文 。 該 系 統 使 用 的 是十 字 鏈 表 結 構 , 包 含 有 訂 票 , 退 票 , 錄 入 航 班 信 息 , 查 詢 航 班 余 票 , 查詢 個 人 訂 票 信 息 這 些 功 能 。內 含 詳 細 論 文 格 式 及 程 序 源 代 碼 ( 源 代 碼 附 有 詳 細 注 釋 )XXXXXXXXXX項 目 名 稱 : 航 空 信 息 管 理 系 統 學 生 姓 名 : XXXXXX 學 號 : XXXXXXXXX 班 級 : XXXXXX 指 導 教 師 : XXX 2012 年 12 月 25 日目錄1.系統需求分析 .12.數據結構設計及用法說明 .23.詳細設計和編碼 .43.1 訂票模塊 43.2 退票模塊 63.3 錄入模塊 83.4 查詢模塊 94.實驗結果 .104.1 主菜單界面 104.2 查詢功能模塊 104.3 訂票功能模塊 114.4 退票功能模塊 124.5 錄入航班信息模塊 125.體會 .13參考文獻 14附錄:源程序清單 151.系統需求分析本次課程設計要求使用 C 語言編寫一個航空客運訂票系統程序,根據所有內容都可以只在內存中運行可得知該模擬的航空客運訂票系統不需要用文件保存相關輸入,運行過程中的數據。同時該航空客運訂票系統要求模擬實際航空訂票系統,具有查詢航線,客票預訂,辦理退票,錄入航班信息等基本功能。查詢航線功能根據實際分析應該具有通過用戶輸入的要查詢終點站名輸出該終點站的終點站,航班號,飛機號,飛行日期,剩余票量的功能。訂票功能應當設計能夠根據用戶輸入的姓名和終點站,查詢該終點站的余票并提示剩余票數,之后讓用戶輸入需要訂購的票數并執行相關操作。退票功能可設計成要求用戶輸入姓名和航班號來查找該用戶的的訂票信息并打印,再詢問是否退票。錄入功能是必要的,用來錄入航班節點信息。2.數據結構設計及用法說明根據該航空信息管理系統的功能要求,應當設計菜單模塊,查詢模塊,訂票模塊,退票模塊,錄入信息模塊等幾個基本模塊,main 函數里調用菜單模塊打印選項菜單,然后用switch case 接收用戶選擇,并依此跳轉到相應模塊執行。同時,為達到能夠執行一個模塊后繼續返回主菜單執行而不是直接退出的目的設計將菜單模塊及相應子功能模塊放入 for死循環里,當輸入 5 則直接退出程序。按該系統的功能分析得出存放在系統中各項數據不需要使用排序功能,因而使用鏈表保存數據比用順序表和數組要便捷并且占用內存少,所以定義 linklist 類型,內部有data,next 指針 2 個數據。其中定義一個 flight 類型的結構體用來存放實際數據:typedef struct{char flightname[MAX];//終點站名 int flightid;//航班號 int date;//飛行日期 int max;//乘員定額 int left;//余票量 int wait;//排隊中的票數}flight;//存儲 “航班信息“ 中 “實際數據“ 的結構體。flight 結構體中 left 存放航班剩余票數,wait 存放當前航班候處于候補狀態的人缺票的總數。同時建另一條 linklist_2 類型保存訂票人員的相關信息,包括用戶姓名,用戶已定票數,用戶缺少票數,指向下一個節點的 next 指針等數據:typedef struct lnode_2{char name[MAX];//用戶姓名 int num;//當前用戶定的的票數int need;//當前用戶缺少的票數lnode_2 *next;//指向下一個節點的指針}linklist_2;//存儲 用戶信息 的鏈表。 其中 need 代表當前用戶缺少的票數,這些票數之和存放在航班候補票數中。上述 2 個結構體類型構成 linklist 類型:typedef struct lnode_1{flight *data;//“航班信息“實際數據 lnode_1 *next;//指向下一個節點的指針 }linklist;//存儲“航班信息“的鏈表。其中 data 用來存放實際數據,里面包含終點站名,航班號,飛行日期,乘員定額,余票量,處于排隊中的票數等等信息,next 是指向下一個結點的指針。而根據系統功能實際分析發現實際算法中經常需要查詢航班下對應的有哪些人員定了該航班票,因而將人員信息鏈表鏈接到航班信息鏈表中更為方便,在航班連表的 data 實際數據里放一個人員信息鏈表的頭指針:linklist_2 *top2;,當有新人員訂票則新建一個人員節點,將節點連接到這個頭指針下面,這樣的鏈表結構更方便保存和查詢系統中各項數據。最后在程序開頭創建鏈表頭結點并分配內存:linklist *top=(linklist *)malloc(sizeof(linklist));程序運行過程中產生的數據依次保存在這個頭結點后面的結點。圖 2-1 航班鏈表存儲結構圖3.詳細設計和編碼 3.1 訂票模塊進入訂票模塊先要求用戶輸入姓名,再輸入需要定票的終點站名,然后遍歷所有航班節點的名稱信息看是否存在該終點站,如果不存在則提示“ 沒有該站點信息,請重新輸入:“要求重新輸入終點站名,知道輸入的終點站名存在,然后創建新人員節點并分配空間:linklist_2 *s=(linklist_2 *)malloc(sizeof(linklist_2));再用尾插法插入新節點:while(p-next!=NULL)//定位當前人員連表的到最后一個節點p=p-next;p-next=s;//將新節點 s 連接上s-next=NULL;//初始化新節點下一個節點為空并保存當前訂票人的名子,輸入的訂票數量。當輸入訂票數量時進行對票數進行判斷if(num0while(m!=NULL){if(strcmp(flightname1,m-data-flightname)==0)break;//退出循環m=m-next;}程序流程圖如 3-2 所示:不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不圖 3-2 退票模塊結構圖3.3 錄入模塊錄入航班信息模塊先創建新航班節點并為新節點分配內存空間:linklist *n=(linklist *)malloc(sizeof(linklist));再用尾插法將新節點插入:while(m-next!=NULL)m=m-next;//使 m 指針指向最后一個節點m-next=n;n-next=NULL;//使新節點下一個節點為空然后初始化當前航班節點的實際數據里的保存人員信息的頭指針為空:flight *a=(flight *)malloc(sizeof(flight));linklist_2 *b=(linklist_2 *)malloc(sizeof(linklist_2));n-data=a;//初始化新節點里的 data 數據n-data-top2=b;//初

總結

以上是生活随笔為你收集整理的c语言航空订票系统程序设计,C语言航空订票系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。