版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 目目 錄錄一、系統開發(fā)的背景.1二、系統分析與設計.1(一)系統功能要求.1(二)系統模塊結構設計.1三、系統的設計與實現.2(一)查詢函數:.2(二)輸入函數.6四、系統測試.7(一)測試MAIN()函數 .7(二)測試查詢函數.11(三)測試輸入函數.13五、總結.14六、附件(代碼、部分圖表).151航班查詢系統航班查詢系統一、一、系統開發(fā)的系統開發(fā)的背景背景隨著信息產業(yè)的飛速發(fā)展,信息化管理及查詢已經引入并應用到各行各業(yè),影響著人們的價值觀念與生活方式。因此,要提升企業(yè)競爭力,就要大力推進企業(yè)信息化建設,利用先進的辦公自動化系統來實現企業(yè)內部信息管理、共享及交流,從而提高企業(yè)綜合實力
2、。該課程設計要求對飛機航班信息進行排序和查找??砂春桨嗟暮桨嗵?、起點站、終點站、起飛時間以及到達時間等信息進行查詢。二、系統分析與設計二、系統分析與設計(一)系統功能要求(一)系統功能要求 可以輸入航班信息系,可采用基數排序法對飛機航班號進行排序,利用二分查找法對排好序的航班記錄按航班號實現快速查找,按其他次關鍵字的查找可采用最簡單的順序查找方法進行。1. 航班記錄包括:航班號、起點站、終點站、班期、起飛時間、到達時間、飛機型號以及票價。2.查詢航班信息。(二)系統模塊結構設計(二)系統模塊結構設計通過對系統功能的分析,航班查詢系統功能如圖 X 所示。2 圖 1 航班查詢系統功能圖通過上圖的功
3、能分析,把整個系統劃分為 5 個模塊:1、航班號查詢,該模塊主要實現通過輸入航班號實現對該趟航班的查詢。2、班期查詢,該模塊主要實現通過輸入班期實現對該趟航班的查詢。3、起飛站查詢,該模塊主要實現通過輸入起飛地點實現對該趟航班的查詢。4、到達站查詢,該模塊主要實現通過輸入到站地點實現對該趟航班的查詢。5、起飛時間查詢,該模塊主要實現通過輸入起飛時間實現對該趟航班的查詢。三、系統的設計三、系統的設計與實現與實現(一)查詢函數:(一)查詢函數:分析:輸入要查詢的方式,例如:航班號、起點站、終點站、起飛時航班查詢系統航班號查詢起飛站查詢終點站查詢起飛時間查詢到達時間查詢3間、到達時間。該函數的流程圖
4、如下圖 2 所示。4圖 2:查詢函數流程圖該模塊的具體代碼如下所示。開始初始化信息排序主菜單顯示輸入查詢序號判斷序號起點站班號到達站起飛時間到達時間輸出航班信息結束5void Seqsearch(sllist l,keytype key,int i) /順序查找函數int j,k,m=0;printf(* 航班號 起點站 終點站 航班期 起飛時間 到達時間 機型 票價 *n);for(j=1;j=1&i=5)putchar(n);printf(n);printf( $ 航班信息查詢系統 $n);printf( n);printf( $ 1.航 班 號 $n);printf( $ 2.起
5、 點 站 $n);6printf( $ 3.終 點 站 $n);printf( $ 4.起飛時間 $n);printf( $ 5.到達時間 $n);printf( $ 6.退出系統 $n);printf( n);printf( 請輸入您的選擇:);scanf(%d,&i);printf(n);switch(i)if(k=6)printf(% 對不起!無此航班信息! %n);elseprintf(航班號 起點站 終點站 航班期 起飛時間 到達時間 機型 票價n);printf(%stt,l.slk.keys);printf(%stt,l.slk.others.qdz);printf(%s
6、tt,l.slk.others.zdz);printf(%stt,l.slk.others.bq);printf(%stt,l.slk.others.qftime);printf(%stt,l.slk.others.artime);printf(%stt,l.slk.others.jixing);printf(%dtt,l.slk.others.price);printf(n);break;case 1:printf(輸入要查詢的航班號:);scanf(%s,key);Seqsearch(l,key,i);break;case 2:printf(輸入要查詢的航班起點站名:);scanf(%s,
7、key);Seqsearch(l,key,i);break;case 3:printf(輸入要查詢的航班終點站名:);scanf(%s,key);Seqsearch(l,key,i);break;case 4:printf(輸入要查詢的航班:起飛時間);scanf(%s,key);Seqsearch(l,key,i);break;case 5:printf(輸入要查詢的航班到達時間:);scanf(%s,key);Seqsearch(l,key,i);break;case 0:printf(謝謝使用!n);7(二)(二)輸入函數輸入函數輸入您所要輸入的數據,該函數的流程圖如下圖 3 所示。 圖
8、 3 輸入函數流程圖該模塊的具體代碼如下所示:void shuru(sllist &k) int i=1; /輸入航班記錄函數char ch=y;printf(請輸入航班信息!n);while(ch=y|ch=Y)printf(航班號 起點站 終點站 航班期 起飛時間 到達時間 機型 票價n);scanf(%s%s%s%s%s%s%s%d,k.sli.keys,k.sli.others.qdz,k.sli.others.zdz,k.sli.others.bq,k.sli.others.qftime,k.sli.others.artime,k.sli.others.jixing,&
9、;k.sli.others.price);i+;getchar(); printf(需要繼續(xù)輸入嗎?n);printf(y 代表繼續(xù)輸入/n 代表結束輸入!n);printf(請輸入 y 或 nn);scanf(%c,&ch);/k.length=i-1;開始輸入信息結束8四、系統測試四、系統測試(一)測試(一)測試 main()函數函數 圖 4 輸入數據9 圖 5 查詢信息 10 圖 6 查詢信息11 圖 7 查詢信息顯示12(二)測試查詢函數(二)測試查詢函數 圖 8 查詢信息13 圖 9 查詢信息14 圖 10 查詢信息(三)測試輸入函數(三)測試輸入函數測試數據:CA1544合
10、肥北京1.2.4.510551240733960MU5341上海廣州每日14201615M901280CZ3869重慶深圳2.4.6085510357331010MU3682桂林南京2.3.4.6.720502215M90138015 圖 11 輸入信息 五、總結五、總結該課程設計實現了根據航班號,起飛地點,到達地點,起飛時間,到達時間對該趟航班進行查詢的功能。在編寫過程中,運用了對航班數據的排序和查找,冒泡排序和順序查找等知識,還有建立靜態(tài)鏈表等。系統在此次運行過程中,剛開始沒有辦法輸入,之后輸入可以實現但又無法正確查詢,查詢出來的都是錯的,而且現實的結果和我編寫的不相符。對冒泡排序的運用,
11、理解不熟,無法書寫出滿足實驗需求的程序代碼。對冒泡排序在不同情況下的區(qū)別沒有掌握。本次的課程設計沒有實現對班期,價格,航班號這三項對該趟航班的16查詢。也沒有運用二分查找,基數排序等操作。通過這次課程設計,使我對 C 語言編程有了新的認識。以前編程只是注重如何編寫函數能夠完成所需要的功能,只是根據書上的算法敲打出一段程序。但是在做課程設計的過程中,對鏈表,指針的使用有了一定的提高。但是就指針的輸入和輸出還是存在比較大的問題。對什么時候要用地址符,什么時候不用不太清楚,再就是函數調用不太會。因此我覺得的,了解典型數據結構的性質是非常有用的,它往往是編寫程序的關鍵。六、附件(代碼、部分圖表)六、附
12、件(代碼、部分圖表)# include # include # define Maxspace 100# define keylen 6typedef char keytype;typedef struct char qdz6; /起點char zdz6; /終點char bq6; /班期char qftime5; /起飛時間 char artime5; /到達時間char jixing4; /機型int price; /票價infotype; /航班記錄類型typedef struct keytype keyskeylen; /關鍵字(航班號)infotype others;int next
13、;slnode;typedef structslnode slMaxspace;17int num; /記錄當前關鍵字字符個數int length; /當前表長sllist; /靜態(tài)鏈表類型void Bubble_Sort(sllist k) /冒泡排序法(從第一個記錄到第 n 個記錄,對 n-1 對相鄰的兩個記錄關鍵字進行比較,一趟之后,/最大數沉底 Rn,第二趟,次大數沉到 Rn-1,.重復 n-1 次,在 Rn中,n 個記錄有序。/排序按價格排序int i,j; int swap;int tmp;char tmp26;/putchar(b);for(i=1;ik.length;i+)/p
14、utchar(b);swap=0;for(j=1;jk.slj+1.others.price)tmp=k.slj.others.price;k.slj.others.price=k.slj+1.others.price;k.slj+1.others.price=tmp;strcpy(tmp2,k.slj.others.artime);strcpy(k.slj.others.artime,k.slj+1.others.artime);strcpy(k.slj+1.others.artime,tmp2);strcpy(tmp2,k.slj.others.bq);strcpy(k.slj.other
15、s.bq,k.slj+1.others.bq);strcpy(k.slj+1.others.bq,tmp2);strcpy(tmp2,k.slj.others.jixing);strcpy(k.slj.others.jixing,k.slj+1.others.jixing);strcpy(k.slj+1.others.jixing,tmp2);strcpy(tmp2,k.slj.others.qdz);strcpy(k.slj.others.qdz,k.slj+1.others.qdz);strcpy(k.slj+1.others.qdz,tmp2);18strcpy(tmp2,k.slj.o
16、thers.qftime);strcpy(k.slj.others.qftime,k.slj+1.others.qftime);strcpy(k.slj+1.others.qftime,tmp2);strcpy(tmp2,k.slj.others.zdz);strcpy(k.slj.others.zdz,k.slj+1.others.zdz);strcpy(k.slj+1.others.zdz,tmp2);strcpy(tmp2,k.slj.keys);strcpy(k.slj.keys,k.slj+1.keys);strcpy(k.slj+1.keys,tmp2);swap=1;if(swa
17、p=0)break;for(i=1;i=k.length;i+)printf(%st%st%st%st%st%st%st%dn,k.sli.keys,k.sli.others.qdz,k.sli.others.zdz,k.sli.others.qftime,k.sli.others.artime,k.sli.others.jixing,k.sli.others.bq,k.sli.others.price);/*查找算法實現*/void Seqsearch(sllist l,keytype key,int i) /順序查找函數int j,k,m=0;printf(* 航班號 起點站 終點站 航班
18、期 起飛時間 到達時間 機型 票價 *n);for(j=1;j=1&i=5)putchar(n);printf(n);printf( $ 航班信息查詢系統 $n);printf( n);printf( $ 1.航 班 號 $n);printf( $ 2.起 點 站 $n);printf( $ 3.終 點 站 $n);printf( $ 4.起飛時間 $n);printf( $ 5.到達時間 $n);printf( $ 6.退出系統 $n);printf( n);printf( 請輸入您的選擇:);scanf(%d,&i);printf(n);switch(i)if(k=6)pr
19、intf(% 對不起!無此航班信息! %n);elseprintf(航班號 起點站 終點站 航班期 起飛時間 到達時間 機型 票價n);printf(%stt,l.slk.keys);printf(%stt,l.slk.others.qdz);printf(%stt,l.slk.others.zdz);printf(%stt,l.slk.others.bq);20printf(%stt,l.slk.others.qftime);printf(%stt,l.slk.others.artime);printf(%stt,l.slk.others.jixing);printf(%dtt,l.slk.
20、others.price);printf(n);break;case 1:printf(輸入要查詢的航班號:);scanf(%s,key);Seqsearch(l,key,i);break;case 2:printf(輸入要查詢的航班起點站名:);scanf(%s,key);Seqsearch(l,key,i);break;case 3:printf(輸入要查詢的航班終點站名:);scanf(%s,key);Seqsearch(l,key,i);break;case 4:printf(輸入要查詢的航班:起飛時間);scanf(%s,key);Seqsearch(l,key,i);break;case 5:printf(輸入要查詢的航班到達時間:);scanf(%s,k
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 杭州房產過戶合同范例
- 合作餐廳合同范例
- 天津濱海職業(yè)學院《微課制作》2023-2024學年第一學期期末試卷
- 物品制作合同范例
- 員工工合同范例
- 大學語文合同范例
- 天府新區(qū)信息職業(yè)學院《汽車液壓與液力傳動》2023-2024學年第一學期期末試卷
- 嵩明混凝土透水磚施工方案
- 房頂漏雨合同范例
- 工廠園區(qū)出售合同范例
- 污水處理設備供貨安裝技術服務方案
- 2024至2030年中國炔草酯數據監(jiān)測研究報告
- 辦公室裝修招標文件范本
- 超星爾雅學習通《當代大學生國家安全教育》章節(jié)測試答案
- 2024年廣東省廣州市白云區(qū)來穗人員服務管理局招聘歷年高頻難、易錯點500題模擬試題附帶答案詳解
- GB/T 10433-2024緊固件電弧螺柱焊用螺柱和瓷環(huán)
- (新版)高級考評員職業(yè)技能鑒定考試題庫(含答案)
- 項目農民工考勤管理制度
- 10.2+文化自信與文明交流互鑒【中職專用】高一思想政治《中國特色社會主義》(高教版2023基礎模塊)
- 專項訓練:坐標的變化(30題)(原卷版+解析)
- 2024年新人教版一年級數學上冊課件 第六單元 復習與關聯 1.數與運算
評論
0/150
提交評論