




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上華中科技大學軟件工程大型作業(yè)報告題目:航班時刻表信息查詢系統(tǒng) 院 系 :計算機科學與技術 專 業(yè) :計算機科學與技術 班 級 : 計算機1101班 組 員 :陳自超 U 組 員 :金麗娜 U 指導老師 : 文坤梅 2014 年 01月 10 日專心-專注-專業(yè)任務分配主要任務負責人需求規(guī)格說明書金麗娜概要設計說明書金麗娜詳細設計說明書陳自超編碼及測試報告陳自超目 錄任務分配- 需求規(guī)格說明書-概要設計說明書-詳細設計說明書-編碼及測試報告-編碼實現和測試編碼實現.(460)1、引言.601、1編寫目的.601、2項目背景.601、3定義.601、4參考資料.602 計
2、劃.612.1 軟件說明.612.2測試內容.622.3航班插入.632.4機場插入.642.5經停航班插入.652.6機場查詢.672.7航班查詢.682.8航班修改.682.9機場修改.702.10經停航班修改.712.11航班刪除.722.12機場刪除.732.13經停航班刪除.732.14余票統(tǒng)計.732.15價格統(tǒng)計.733 評價準則.733.1 范圍.733.2 整理.733.3 尺度.744 測試分析報告.75編碼實現附錄: 附錄I 源程序清單/*飛機航班查詢系統(tǒng)2012年10月*/#include #include #include #include #include #def
3、ine SCR_ROW 25 /*屏幕行數*/#define SCR_COL 80 /*屏幕列數*/*帳號密碼信息鏈結點結構*/typedef struct ip_node char id15; /*帳號*/ char password15; /*密碼*/ struct ip_node *next; IP;/*航班信息鏈結點結構*/typedef struct flight_nodechar flight_number10; /*航班編號*/char aircraft_model20; /*客機名稱*/char flight_corp_number10; /*所屬航空公司編號*/char fl
4、ight_corp_name20; /*所屬航空公司名稱*/char initial10; /*始發(fā)地*/char terminal10; /*目的地*/char begin_time10; /*始發(fā)時間*/char end_time10; /*到達終點時間*/float one_price; /*單程票價*/float round_price; /*來回票價*/char full_time10; /*全程時間*/int mileage; /*飛行里程*/struct flight_node *next; /*指向下一結點*/struct stop_airport_node * anext;
5、/*指向經停機場信息鏈結點的指針*/ FLIGHT_NODE;/*經停機場信息鏈結點結構*/typedef struct stop_airport_nodechar airport_number10; /*機場編號*/char airport_name20; /*機場名稱*/char regional_number10; /*所屬地域編號*/char flight_number10; /*航班編號*/char arrive_time10; /*到達時間*/char leave_time10; /*離開時間*/char cur_time10; /*到目前為止飛行時間*/int cur_milea
6、ge; /*到目前為止飛行里程*/struct stop_airport_node *next; /*指向下一節(jié)點*/struct stop_flight_node *fnext; /*指向經停航班信息結點的指針*/ STOP_AIRPORT_NODE;/*經停航班信息鏈結點結構*/typedef struct stop_flight_nodechar flight_number10; /*經停航班編號*/char aircraft_model20; /*經??蜋C型號*/char airport_number10; /*機場編號*/char regional_number10; /*所屬地域編
7、號*/char flight_type20; /*航班類型:始發(fā)-經停-終到*/char arrive_time10; /*到達時間*/char leave_time10; /*離開時間*/float cur_one_price; /*本機場到終點單程票價*/float cur_round_price; /*本機場到終點來回票價*/int surplus_ticket; /*余票數量*/struct stop_flight_node *next;/*指向下一個結點*/ STOP_FLIGHT_NODE;/*屏幕窗口信息鏈結點結構*/typedef struct layer_node char
8、LayerNo; /*彈出窗口層數*/ SMALL_RECT rcArea; /*彈出窗口區(qū)域坐標*/ CHAR_INFO *pContent; /*彈出窗口區(qū)域字符單元原信息存儲緩沖區(qū)*/ char *pScrAtt; /*彈出窗口區(qū)域字符單元原屬性值存儲緩沖區(qū)*/ struct layer_node *next; /*指向下一結點的指針*/ LAYER_NODE;/*標簽束結構*/typedef struct label_bundle char *ppLabel; /*標簽字符串數組首地址*/ COORD *pLoc; /*標簽定位數組首地址*/ int num; /*標簽個數*/ LAB
9、EL_BUNDLE;/*熱區(qū)結構 */typedef struct hot_area SMALL_RECT *pArea; /*熱區(qū)定位數組首地址*/ char *pSort; /*熱區(qū)類別(按鍵、文本框、選項框)數組首地址*/ char *pTag; /*熱區(qū)序號數組首地址*/ int num; /*熱區(qū)個數*/ HOT_AREA;/*主菜單名數組*/char *ga_main_menu = 文件(F), 編輯(E),查詢(I),統(tǒng)計(S),幫助(H);/*子菜單名數組*/char *ga_sub_menu = S 數據保存, L 數據加載,A 數據備份,F 恢復備份,X 退出 Alt+X
10、, 1插入航班,2修改航班,3刪除航班, , 4插入機場,5修改機場,6刪除機場, , 7插入經停航班,8修改經停航班,9刪除經停航班 , F 航班查詢, A 機場查詢, C 模糊查詢 , S 余票統(tǒng)計, P 價格統(tǒng)計 , T 幫助主題 F1,A 關于系統(tǒng), C 清屏 Alt+C;char * gp_scr_att = NULL; /*存放屏幕上字符單元屬性值的緩沖區(qū)*/int ga_sub_menu_count = 5, 11, 3, 2, 3; /*各主菜單項下子菜單的個數*/int gi_sel_menu = 1; /*被選中的主菜單項號,初始為1*/int gi_sel_sub_men
11、u = 0; /*被選中的子菜單項號,初始為0,表示未選中*/char * FileName3=Flight.txt,Airport.txt,RefFlight.txt;/*航班,經停機場,經停航班基礎信息保存文件*/char * BeiFen_FileName3=BFflight.txt,BFairport.txt,BFrefflight.txt;/*航班,經停機場,經停航班基礎信息備份文件*/char * IP_FileName=Ip.txt;/*帳號密碼信息保存文件*/HANDLE gh_std_out; /*標準輸出設備句柄*/HANDLE gh_std_in; /*標準輸入設備句柄*
12、/FLIGHT_NODE* gp_head = NULL; /*主鏈頭指針*/LAYER_NODE * gp_top_layer = NULL; /*彈出窗口信息鏈鏈頭*/CHAR_INFO * gp_buff_menubar_info = NULL; /*存放菜單條屏幕區(qū)字符信息的緩沖區(qū)*/DWORD len; /*指向變量的指針,用來存放字符的實際數目*/IP * ip_head = NULL;/*帳號密碼鏈表的鏈頭*/*框架函數的聲明*/void TextInterface(void);/*系統(tǒng)界面初始化*/void ClearScreen(void); /*清屏*/void ShowM
13、enu(void); /*顯示主菜單欄*/void PopMenu(int num); /*彈出下拉菜單*/void PopOn(SMALL_RECT *, WORD, LABEL_BUNDLE *, HOT_AREA *); /*彈出窗口屏幕信息維護*/void PopOff(void); /*關閉彈出窗口*/void DrawBox(SMALL_RECT *parea); /*繪制子菜單邊框*/void LocateSubMenu(int num, SMALL_RECT *parea); /* 彈出菜單定位*/void MarkMainMenu(int num); /* 標記被選中的主菜單
14、項*/void MarkSubMenu(int num); /* 標記被選中的子菜單項*/void SetMainHotArea(void); /* 給主菜單欄設置熱區(qū)*/void RunSystem(void); /* 系統(tǒng)功能模塊的選擇和運行*/void CloseSys(FLIGHT_NODE *hd); /* 關閉系統(tǒng)并退出*/void ShowTime(void); /* 動態(tài)顯示系統(tǒng)時間*/inline void Gotoxy(COORD pos);/* 將光標置于坐標pos處*/inline void Delay(void);/* 時間暫延0.05s*/inline void S
15、creenFresh(void);/* 刷屏函數*/void Start(void);/* 進入歡迎界面*/void Login(IP *head);/* 登入函數*/void PrintBox(void);/* 輸出框架*/void Welcome(void); /* 登入注冊界面*/void Register(IP *head);/* 注冊新帳號*/void SaveIp(IP *head);/* 保存帳號密碼數據.*/void LoadIp(IP *head);/* 載入帳號密碼數據.*/void WriteKeyWord(char *str,COORD pos);/* 將關鍵字顯示出來
16、*/int MyStrstr(char *s,char *t);/* 在s串中查找t串*/*功能函數的聲明*/void InquireAirport(FLIGHT_NODE *phead,char *s);/*按機場查詢*/void AutoInquire(FLIGHT_NODE * phead,char KeyWord);/*模糊查詢*/void InquireFlight(FLIGHT_NODE *phead,char *s);/*按航班查詢*/void LoadList(FLIGHT_NODE *phead,char *fn); /*加載鏈表中信息*/void SaveList(FLIG
17、HT_NODE *phead,char *fn); /*保存鏈表信息*/void StatisticalPrice(FLIGHT_NODE *phead);/*價格統(tǒng)計*/void StatisticalSeat(FLIGHT_NODE *phead);/*座位統(tǒng)計*/void TraverseList(FLIGHT_NODE * phead); /*遍歷整個鏈表的信息*/void SetQuitHotArea(HOT_AREA *pHotArea, int iHot);/*設置退出系統(tǒng)時的熱鍵*/int DealQuitInput(HOT_AREA *pHotArea, int *piHot
18、);/*處理退出系統(tǒng)是輸入的信息*/*功能函數模塊函數的聲明*/BOOL ExeFunction(int main_menu_num, int sub_menu_num);BOOL SaveData(void);BOOL LoadData(void);BOOL BackupData(void);BOOL RestoreData(void);BOOL ExitSys(void);/*航班信息維護*/BOOL InsertFlight(void);/*插入航班信息*/void InsertFlightNode(FLIGHT_NODE *phead);/*插入航班結點*/BOOL DelFlight
19、(void);/*刪除航班信息*/int DelFliNode(FLIGHT_NODE *phead,char *fli_num);/*刪除航班結點*/BOOL ModifyFlight(void);/*修改航班信息*/int ModifyFliNode(FLIGHT_NODE *phead,char *fli_num,FLIGHT_NODE *pfli_node);/*修改航班結點*/*經停機場信息維護*/BOOL InsertAirport(void);/*插入經停機場信息*/int InsertairNode(FLIGHT_NODE *phead);/*插入經停機場結點*/STOP_AI
20、RPORT_NODE *SeekAirNode(FLIGHT_NODE *phead, char *air_num);/*查找經停機場結點*/BOOL ModifyAirport(void);/*修改經停機場信息*/int ModifyAirNode(FLIGHT_NODE *phead,char *air_num,STOP_AIRPORT_NODE *pair_node);/*修改經停機場結點*/BOOL DelAirport(void);/*刪除經停機場信息*/int DelAirNode(FLIGHT_NODE *phead,char *air_num);/*刪除經停機場結點*/*經停航
21、班信息維護*/BOOL InsertRefFlight(void);/*插入經停航班信息*/int InsertRefNode(FLIGHT_NODE *phead, STOP_FLIGHT_NODE *pref_node);/*插入經停航班結點*/STOP_FLIGHT_NODE *SeekRefNode(FLIGHT_NODE *phd,char *air_num, char *e_num);/*查找經停航班結點*/BOOL DelRefFlight(void);/*刪除經停航班信息*/int DelRefNode(FLIGHT_NODE *phead,char *air_num, cha
22、r *e_num);/*刪除經停航班結點*/BOOL ModifyRefFlight(void);/*修改經停航班信息*/int ModifyRefNode(FLIGHT_NODE *phead,char *air_num, char *e_num, STOP_FLIGHT_NODE *pref_node);/*修改經停航班結點*/BOOL AirportInquire(void);BOOL FlightInquire(void);BOOL InquireAuto(void);BOOL SeatStatistics(void);BOOL PriceStatistics(void);BOOL T
23、raverseData(void);BOOL Theme(void);BOOL AboutSys(void);BOOL Clear(void);/* Main函數.*/int main(void) LoadIp(&ip_head); /*加載帳號密碼數據*/ Welcome(); /*首界面*/ TextInterface(); /*文本菜單界面初始化*/ LoadList(&gp_head,FileName); /*加載信息*/ RunSystem(); /*系統(tǒng)功能模塊的選擇及運行*/ SaveList(gp_head,FileName); /*保存信息*/CloseSys(gp_head
24、); /*關閉系統(tǒng)*/return 0;/* clock() );/* 將光標置于pos位置處*/inline void Gotoxy(COORD pos) gh_std_out = GetStdHandle(STD_OUTPUT_HANDLE); /*獲取標準輸出設備句柄*/SetConsoleCursorPosition(gh_std_out,pos); /*設置光標位置在pos處*/* 畫框函數.*/void PrintBox(void) COORD pos=15,6; Gotoxy(pos); printf(n);Delay(); printf(%15s%44sn, , );Delay
25、(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn,
26、 , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15sn, );/*next; fclose(out);/*next=hp; hp=p; (*head)=hp;fclose(in);/*id);getchar(); Gotoxy(pos3); scanf(%s,p-password);getchar(); p-next=hp; hp=p; (*head)=hp;/* 登入注冊界面*/void Welcome(void) char ch; ScreenFresh(); PrintBox(); COORD pos1=28,10,pos2=3
27、7,17; Gotoxy(pos1); printf( 快速登入 ); pos1.X=39; WriteKeyWord(L,pos1); printf(oginn); printf(%15s%12s-, , ); printf(nnn%15s%12s免費注冊 , , ); pos1.Y=14; pos1.X=39; WriteKeyWord(R,pos1); printf(egistern); printf(%15s%11s-, , ); printf(nn%15s%18s , , );lop: Gotoxy(pos2); printf( b); ch=getchar(); fflush(st
28、din); if( ch= L | ch = l ) LoadIp(&ip_head); Login(ip_head); return; else if( ch= R | ch = r ) Register(&ip_head); SaveIp(ip_head); printf(nn%15s 恭喜你注冊成功!自動跳轉到登入界面., ); Sleep(3000); LoadIp(&ip_head); Login(ip_head); return; else printf(%15s%11s輸入有誤,請重新輸入!, , ); Sleep(1000); goto lop; /* 登入系統(tǒng).*/void
29、Login(IP *head) IP *p; int i,j=0; char ch, id20, pwd20; COORD pos1=32,9,pos2=36,11,pos3=36,14; ScreenFresh();lop: PrintBox(); Gotoxy(pos1);printf(【登入系統(tǒng)】nn); printf(%15s%8s請輸入帳號:, , ); printf(n%15s%19s, , ); printf(nn%15st 請輸入密碼:, ); printf(n%15s%19s, , ); Gotoxy(pos2); scanf(%s,id); getchar(); Gotox
30、y(pos3); for (i = 0; i =0) ch=pwdi; printf(b b); fflush(stdin);/*吸收緩沖區(qū)多余的字符*/ else /*其他鍵*/ printf(%c,ch); Sleep(300); printf(b*); pwdi = ch; fflush(stdin); if(i=11) printf(nnn%15s%6s警告:密碼不能超過10位,請重新輸入!n, , ); Sleep(3000); ScreenFresh(); goto lop; pwdi = 0; p=head; while(p!=NULL) if (strcmp(id, p-id)
31、 = 0 & strcmp(pwd, p-password) = 0) ScreenFresh(); PrintBox(); Start(); return; p=p-next; printf(nn%15s%5s用戶名不存在或密碼錯誤,請重新輸入!n, , ); printf(%15s 初始帳號密碼:ID:wangtao PASSWORD:n, ); fflush(stdin); j+; if(j=3) printf(%15s密碼錯誤超過三次,自動跳轉到首界面注冊新帳號!n, ); Sleep(5000); Welcome(); Sleep(3000); ScreenFresh(); goto
32、 lop;/* 刷屏函數.*/inline void ScreenFresh(void) COORD home = 0, 1; unsigned long size; int i; Gotoxy(home); for(i=0;i SCR_ROW; i+) printf(%80s, ); Sleep(35); Gotoxy(home);/* 開始進入系統(tǒng)歡迎界面.*/void Start(void) COORD pos=18,8; int goal; CONSOLE_CURSOR_INFO lpCur; Gotoxy(pos); printf(* * );Delay();printf( * *
33、);Delay();printf( * * );Delay();printf( * * );Delay(); printf( * * );Delay();printf( * * );Delay();printf( * *nn);Delay();printf(%15s%10s, , ); printf( );Delay();printf( 歡 );Delay();printf( 迎 );Delay();printf( 進 );Delay(); printf( 入 );Delay();printf( nn);Delay();printf(%15s, ); printf( 航 );Delay();printf( 班 );Delay();printf( 時 );Delay();printf( 刻 );Delay(); printf( 表 );Delay();printf( 查 );Delay();printf( 詢 );Delay();printf( 系 );Delay(); pri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025湘科版科學一年級下冊期中測試卷附答案
- 2025年深圳各區(qū)《房屋租賃合同》簽訂期限規(guī)定
- 2025監(jiān)理工程師合同管理題
- 平面設計元素:點、線、面
- 2025職場新規(guī):掌握合同簽訂要點確保勞動權益
- 2025企業(yè)合同風險評估與整改分析報告
- 2025廣告牌租賃合同
- 2025國內貨物買賣的合同模板
- 學前教育學生就業(yè)指導
- 2025國際貿易合同中英文版
- GA/T 992-2012停車庫(場)出入口控制設備技術要求
- 河流專題復習-重點課件
- 企業(yè)風險管理-戰(zhàn)略與績效整合(中文版)
- 2022年全國職工書屋推薦書目
- 哈薩克斯坦鐵路車站代碼
- 裝配式建筑設計設計專篇
- 《教育心理學》教材
- 綏滿公路大慶黃牛場至齊齊哈爾宛屯段擴建項目B4合同段施工組織設計
- 身體紅綠燈課件
- Pentacam白內障應用(第二版)
- 抗精神病藥物的選擇與聯合應用
評論
0/150
提交評論