民航售票系統(tǒng)_第1頁
民航售票系統(tǒng)_第2頁
民航售票系統(tǒng)_第3頁
民航售票系統(tǒng)_第4頁
民航售票系統(tǒng)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、民航售票系統(tǒng)班級:西北大學(xué)*時(shí)間:2008-*-*1 .需求分析以無歧義的陳述說明項(xiàng)目開發(fā)的任務(wù),強(qiáng)調(diào)的是該項(xiàng)目要實(shí)現(xiàn)什么?并明確規(guī)定:項(xiàng)目采用的技術(shù)路線,支持軟件;系統(tǒng)整體框架圖;項(xiàng)目實(shí)現(xiàn)的功能點(diǎn);該項(xiàng)目為民航訂票系統(tǒng)。由于經(jīng)濟(jì)水平的不斷提高,出行選擇飛機(jī)的旅客也逐漸增多, 為方便用戶訂票退票買票,對民航訂票系統(tǒng)的要求也在逐年提高。特此編寫了一個(gè)民航機(jī)票 訂票系統(tǒng)的代碼程序,它的功能主要是完成航班信息的錄入、編輯、修改;用戶的注冊、訂 票、查票、退票、買票項(xiàng)目采用的技術(shù)路線,支持軟件該項(xiàng)目用c語言實(shí)現(xiàn),創(chuàng)建結(jié)構(gòu)體變量,并以鏈表的形式將航班信息、訂票人信息、國 內(nèi)航班已訂票信息和國際航班已訂票

2、信息寫入文件中。程序運(yùn)行開始,打開文件并將其分別 鏈入鏈表之中;程序結(jié)束關(guān)閉并保存文件。整體系統(tǒng)功能全部由鏈表實(shí)現(xiàn)。在主函數(shù)main()函數(shù)中,只調(diào)用一個(gè)函數(shù),在系統(tǒng)中,函數(shù)之間采用級聯(lián)調(diào)用,即一個(gè) 函數(shù)里調(diào)用另一個(gè)函數(shù),每個(gè)函數(shù)實(shí)現(xiàn)一個(gè)單獨(dú)的功能,可被一次或多次調(diào)用。系統(tǒng)整體框架圖注冊t=i查看已定冒媽航班信息選擇進(jìn)入瀏覽用戶子菜查看已定匡際航班信息選擇開始系統(tǒng)文件載入顯示主菜單n入主菜單選項(xiàng)5=Input=1Inpu*=2, 4登錄N進(jìn)入注冊用戶子菜單進(jìn)入售票員子菜單進(jìn)入系統(tǒng)管理員子菜單Input=5統(tǒng)計(jì)航班總數(shù)、已售出的機(jī)票數(shù)目、未售出的機(jī)票數(shù)目、打折機(jī)票情況等統(tǒng)計(jì)某個(gè)航班的售票情況修改

3、至密一碼查看訂-票信,息L及退票返回上一級菜單訂票返回主菜單售票統(tǒng)計(jì)熱門航班前已訂票用戶土票未訂票用戶買票返回上一級菜單退出_I*查寸戈菜-單排序菜單返回主 菜單統(tǒng)計(jì)創(chuàng)建售票員文件備分_編輯航:班信息統(tǒng)計(jì)在本月消費(fèi)數(shù)額最大的統(tǒng)計(jì)入座率5不的航班統(tǒng)計(jì)打折信息退出統(tǒng)計(jì)菜單航班信息錄入修改航班信息刪除航班信息通Ia航I%號排序 -通、N起始站排序退出排序菜單 1 通、N未售座 位數(shù)排 序| 通la折扣排序 一 通遷票價(jià)排序|_| 通la座位數(shù)排序 通過終點(diǎn)站排序項(xiàng)目實(shí)現(xiàn)的功能點(diǎn)航班信息錄入、刪除、修改分別按照航班號、起始站、終點(diǎn)站、航班日期、航班價(jià)錢、打折信息、用戶名、身 份證號、護(hù)照號查找航班信息

4、分別按照航班號、起點(diǎn)站、終點(diǎn)站、座位數(shù)總數(shù)、已售出座位數(shù)、價(jià)格、折扣信息對 航班信息進(jìn)行排序分別對航班總數(shù)、已售出機(jī)票數(shù)、未售出機(jī)票數(shù)、打折機(jī)票情況、某個(gè)航班的售票情 況、熱門航班的前十名、本月消費(fèi)額最大的五個(gè)用戶、入座率不足50%的航班進(jìn)行統(tǒng)計(jì)文件的打開、保存和另存為用戶信息的注冊、信息的修改、用戶密碼的修改、民航機(jī)票售票員的創(chuàng)建注冊用戶的國際航班訂票、國內(nèi)航班訂票、國際和國內(nèi)航班對已訂票信息的查詢、退 票、已訂票用戶買票、未定票用戶買票2 .概要設(shè)計(jì)說明項(xiàng)目包含的所有模塊及其交互關(guān)系,所有類和接口的定義,類或接口之間的層次調(diào) 用關(guān)系,數(shù)據(jù)的定義形式,文件的組織結(jié)構(gòu)。系統(tǒng)定義了 4個(gè).h文件

5、,2個(gè).c文件。Flight_Book.h用來存放所有庫文件的聲明,如 #include 語句。Flight_Book_define.h 用來存放所有變量的宏定義,如#define Name_Length_Max (20)(姓名的最大長度)。Flight_Book_hanshu.h用來存放所有函數(shù)的聲 明語句,如int Search_by_no()(按航班號查找函數(shù))。Flight_Book_struct.h用來存放所 有的結(jié)構(gòu)體及枚舉類型信息,如typedef enum tagF_SORT排序菜單的用戶輸入選擇F_SORT_BY_NO = 1,F_SORT_BY_FROMPLACE,/通過航

6、班號排序/通過起始站排序F_SORT_BY_TOPLACE,F_SORT_BY_SEATAMOUNT,/通過終點(diǎn)站排序/通過座位數(shù)排序F_SORT_BY_PRICE,/通過票價(jià)排序F_SORT_BY_DISCOUNT,/通過折扣排序F_SORT_BY_UNSOLDAMOUNT,/通過未售座位數(shù)排序FSORTEXIT/退出排序菜單F_SORT_MENU_SELECT;Flight_Book_main.c 函數(shù),用來編寫主函數(shù) void main()。Flight_Book_hanshu.c函數(shù),用來編寫程序調(diào)用的所有子函數(shù)。系統(tǒng)分為四種用戶:瀏覽用戶、注冊用戶、售票員和系統(tǒng)管理員。每種用戶的具體

7、功能如下。各種用戶的功能有交叉,有相同點(diǎn)也有不同點(diǎn)。瀏覽用戶:航班信息查找、航班信息排序、注冊信息錄入注冊用戶:航班信息查找、排序、國際航班訂票、國內(nèi)航班訂票、查看訂票信息、退票、 修改個(gè)人信息、修改密碼售票員:航班信息查找、排序、國際航班已訂票用戶買票、國內(nèi)航班已訂票用戶買票、 未訂票用戶買票、系統(tǒng)管理員:航班信息查找、排序、統(tǒng)計(jì)、航班信息錄入、修改、刪除、創(chuàng)建民航機(jī)票 售票員、管理員密碼修改、文件備份程序中所需的所有數(shù)據(jù)的宏定義都定一在Flight_Book_define.h頭文件中,枚舉類型變 量選擇以及及構(gòu)體變量的定義都在Flight_Book_struct.h中。程序中不出現(xiàn)任何數(shù)字

8、。系統(tǒng)定義了四個(gè)主要結(jié)構(gòu)體航班信息結(jié)構(gòu)體typedef struct Flight_Info/航班信息結(jié)構(gòu)體char FlightNoFlight_No_Max;/航班號char FromPlacePlace_Length_Max;/航線起始站char ToPlacePlace_Length_Max;/航線終點(diǎn)站char DateDate_Length;/航班日期int SeatAmount;/票數(shù)int unSoldAmount;/剩余票數(shù)int Price;/票價(jià)float Discount;/折扣信息struct Flight_Info *next;F_Info,*Flight_List

9、;此結(jié)構(gòu)體創(chuàng)建的鏈表用來存放航班信息。此鏈表節(jié)點(diǎn)的信息存放在flight1.txt文件中。 程序開始時(shí),進(jìn)行文件載入調(diào)用voidFlight_Load()函數(shù),將文件中的所有信息存放在以FL 為頭結(jié)點(diǎn)的鏈表中。程序運(yùn)行中,只對鏈表進(jìn)行修改,不對文件進(jìn)行直接操作。程序結(jié)束后 調(diào)用void Flight_Save()函數(shù),執(zhí)行用戶信息保存功能,將鏈表中的所有用戶信息重新寫入 文件 flight1.txt 中用戶信息結(jié)構(gòu)體。包括注冊用戶、售票員和系統(tǒng)管理員/用戶信息typedef struct Booker_Info char PasswordPassword_Length;/密碼char Name

10、Name_Length_Max;/姓名char Sex;性別char NationNation_Length_Max;/民族char IDID_No;/身份證號float Crash;/累計(jì)購票金額MENU_SELECT type;用戶類型struct Booker_Info *next;Booker_Info,*Booker_List;此結(jié)構(gòu)體創(chuàng)建的鏈表用來存放系統(tǒng)管理員、售票員、以及注冊用戶的信息。此鏈表節(jié)點(diǎn) 的信息存放在flight.txt文件中。程序開始時(shí),進(jìn)行文件載入調(diào)用void Booker_Load()函數(shù), 將文件中的所有信息存放在以L為頭結(jié)點(diǎn)的鏈表中。程序運(yùn)行中,只對鏈表進(jìn)行

11、修改,不對 文件進(jìn)行直接操作。程序結(jié)束后調(diào)用void Booker_Save()函數(shù),執(zhí)行用戶信息保存功能,將 鏈表中的所有用戶信息重新寫入flight.txt文件中。國內(nèi)航班訂票人信息結(jié)構(gòu)體typedef struct User_Booked_Ticket/國 內(nèi)用戶訂票信息char UserNameName_Length_Max;/用戶名char FlightNoFlight_No_Max;/航班號char DateDate_Length;/航班日期int BookAmount;/訂票數(shù)char IDID_No;/身份證號struct User_Booked_Ticket * next;U

12、ser_Booked_Ticket,*Ticket_List;此結(jié)構(gòu)體創(chuàng)建的鏈表用來存放注冊用戶所訂的國內(nèi)航班機(jī)票信息。此鏈表節(jié)點(diǎn)的信息存 放在d:Xbook_ticket_info.txt文件中。程序開始時(shí),進(jìn)行文件載入,調(diào)用void Ticket_Load() 函數(shù),將文件中的所有信息存放在以T為頭節(jié)點(diǎn)的鏈表中。程序運(yùn)行中,支隊(duì)鏈表進(jìn)行修改, 不對文件進(jìn)行直接操作。程序結(jié)束后,調(diào)用void Ticket_Save()函數(shù),執(zhí)行用戶信息保存功 能,將鏈表中的所有用戶信息重新寫入文件book_ticket_info.txt中。國際航班訂票人信息結(jié)構(gòu)體typedef struct outcoun

13、try_User_Booked_Ticket/I國際用戶訂票信息、/航班號航班日期/訂票數(shù)char FlightNoFlight_No_Max;char DateDate_Length;int BookAmount;charIDID_No;/身份證號charVisaCountryCountry_Length_Max;/簽證國家charVisaDateDate_Length;/簽證日期charPassportPassport_No;/護(hù)照號struct outcountry_User_Booked_Ticket * next;outcountry_User_Booked_Ticket,*outc

14、ountry_Ticket_List;此結(jié)構(gòu)體創(chuàng)建的鏈表用來存放注冊用戶所訂的國際航班機(jī)票信息。此鏈表節(jié)點(diǎn)的信息存 放在d:Xoutcountry_book_ticket_info.txt文件中。程序開始時(shí),進(jìn)行文件載入,調(diào)用void outcountry_Ticket_Load()函數(shù),將文件中的所有信息存放在以O(shè)CT為頭節(jié)點(diǎn)的鏈表中。程 序運(yùn)行中,只對鏈表進(jìn)行修改,不對文件進(jìn)行直接操作。程序結(jié)束后,調(diào)用void outcountry_Ticket_Save()函數(shù),執(zhí)行用戶信息保存功能,將鏈表中的所有用戶信息重新寫 入 outcountry_book_ticket_info.txt 文件中

15、。3.詳細(xì)設(shè)計(jì)實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有類和接口的成員變量和方法的原型,對復(fù)雜操作按照算法書 寫規(guī)范用寫出過程或函數(shù)形式的算法框架,給出主要函數(shù)的流程圖,畫出主要算法的時(shí)序圖, 交互圖。(1)初始化文件 flight.txt 和 flight1.txt 和 settingpath.txt 和 userpass.txt文件載入函數(shù)調(diào)用。在 main()函數(shù)中調(diào)用函數(shù) LoadFile(pAllData),MainMenu() ; MainMenu()函數(shù)為顯示前 端界面函數(shù)。打印輸出“歡迎進(jìn)入民航訂票系統(tǒng)”。在此函數(shù)中調(diào)用初始化函數(shù)Initsys(), 將所有的文件初始化并執(zhí)行(2)文件載入中的四

16、個(gè)load函數(shù)。之后調(diào)用get_front_menu() 函數(shù)。此函數(shù)打印并執(zhí)行主菜單。get_front_menu()函數(shù)中,調(diào)用主菜單選項(xiàng) print_front_menu()。Case 1: get_ScanUser_menu()獲取瀏覽用戶主菜單。Case 2: get_RegistUser_menu()獲取注冊用戶主菜單。Case 3: get_Seller_menu () 獲取售票員主菜單Case 4: get_Admin_menu()獲取系統(tǒng)管理員主菜單。在get_ScanUser_menu()獲取瀏覽用戶主菜中,先調(diào)用print_ScanUser_menu()函數(shù), 打印瀏覽用

17、戶菜單。Case 1: get_search_menu()獲取查找菜單Case 2: get_sort_menu() 獲取排序菜單Case 3: Register_new_user() 注冊新用戶Case 4:推出。在 get_RegistUser_menu() 獲取注冊用戶主菜單中,先調(diào)用 print_RegistUser_menu() 函數(shù),打印注冊用戶菜單。Case 1: get_search_menu() 獲取查找用戶菜單Case 2: get_sort_menu() 獲取排序菜單Case 3: get_RBookTicket_menu() 進(jìn)入訂票子菜單Case 4: get_RSh

18、ow_BookedTicket_menu()進(jìn)入查看訂票信息及退票菜單Case 5: change_userinfo() 調(diào)用修改個(gè)人信息函數(shù)Case 6: change_password()調(diào)用修改密碼函數(shù)Case 7:推出。在get_Seller_menu()獲取售票員主菜單中,先調(diào)用print_Seller_menu()函數(shù),打 印售票員菜單。Case 1: get_search_menu()進(jìn)入查找子菜單。Case 2: get_sort_menu()進(jìn)入排序子菜單。Case 3: get_buyticket_menu()進(jìn)入買票子菜單。Case 4:推出。在get_Admin_men

19、u()獲取系統(tǒng)管理員主菜單中,先調(diào)用print_Admin_menu()函數(shù),打 印系統(tǒng)管理員菜單。Case 1: get_search_menu() 進(jìn)入查找子菜單。Case 2: get_sort_menu() 進(jìn)入排序子菜單。Case 3: get_total_menu()進(jìn)入統(tǒng)計(jì)子菜單。Case 4: EditFlightInfo()進(jìn)入編輯航班信息子菜單。Case 5: Register_new_user()調(diào)用創(chuàng)建明航機(jī)票售票員函數(shù)。Case 6: Sys_recopy()調(diào)用文件備份函數(shù)。Case 7: change_password()調(diào)用系統(tǒng)管理員密碼修改函數(shù)。Case 8:

20、退出。在get_search_menu() 進(jìn)入查找子菜單中,先調(diào)用print_search_menu()函數(shù),打印 查找菜單。Case 1: Search_by_no()按航班號查找航班信息。Case 2: Search_by_fromplace() 按起始站查找航班信息。Case 3: Search_by_toplace() 按終點(diǎn)站查找航班信息。Case 4: Search_by_price()按航班的票價(jià)查找航班信息。Case 5: Search_by_discount()按航班的打著信息查找航班信息。Case 6: Search_by_date() 按航班的起飛時(shí)間查找航班信息。Ca

21、se 7: Search_by_registname()按注冊用戶的用戶名查找航班信息。Case 8: Search_by_ID()按航班號查找航班信息。Case 9: Search_by_passport()按護(hù)照好查找航班信息。Case 0:退出。在get_sort_menu()獲取排序菜單中,先調(diào)用print_sort_menu()函數(shù),打印排序菜單。Case 1: Sort_by_no()按照航班號排序。Case 2: ort_by_fromplace()按照起始站排序。Case 3: Sort_by_toplace()按終點(diǎn)站排序。Case 4: Sort_by_seatamount

22、()按總票數(shù)排序。Case 5: Sort_by_price()按票價(jià)排序。Case 6: Sort_by_discount()按折扣信息排序。Case 7: Sort_by_unsoldamount()按剩余票數(shù)排序。Case 8:退出。在 get_RBookTicket_menu() 進(jìn)入訂票子菜單中,先調(diào)用 print_RBookTicket_menu()函 數(shù),打印訂票航班選擇菜單。Case 1: incountry_book_ticket()調(diào)用或內(nèi)航班訂票函數(shù)。Case 2: outcountry_book_ticket()調(diào)用國際航班訂票函數(shù)。Case 3:返回上一級菜單函數(shù)。C

23、ase 4:退出。在get_RShow_BookedTicket_menu() 進(jìn)入查看訂票信息及退票菜單中,先調(diào)用 print_show_BookedTicket_menu()函數(shù),打印查看訂票信息及退票函數(shù)。Case 1: show_incountry_booked_info()調(diào)用國內(nèi)航班已訂票信息查看函數(shù)。Case 2: show_outcountry_booked_info()調(diào)用國際航班已訂票信息查看函數(shù)。Case 3:返回上一級菜單。Case 4:退出。在 get_buyticket_menu()進(jìn)入買票子菜單中,先調(diào)用 print_buyticket_menu()函數(shù), 打印售

24、票員售票菜單。Case 1: bookedU_buyT()調(diào)用已訂票用戶買票函數(shù)。Case 2: unbookedU_buyT()調(diào)用普通用戶(為訂票用戶)買票函數(shù)。Case 3:返回上一級菜單Case 4:退出。在get_total_menu()進(jìn)入統(tǒng)計(jì)子菜單中,先調(diào)用print_total_menu()函數(shù),打印統(tǒng)計(jì)航班信息子菜單。Case 1: Total_allflight()調(diào)用統(tǒng)計(jì)航班總數(shù)、已售出的機(jī)票數(shù)目未售出的機(jī)票數(shù)目、 打折機(jī)票情況。Case 2: Total_single()調(diào)用統(tǒng)計(jì)某個(gè)航班的售票情況函數(shù)。Case 3: Total_popu_tenth()調(diào)用統(tǒng)計(jì)熱門航班

25、的情勢名函數(shù)。Case 4: Total_month_custom()調(diào)用同基本月消費(fèi)額最大的五個(gè)用戶函數(shù)。Case 5: Total_f_half_seat()調(diào)用統(tǒng)計(jì)入座率不足50%的航班函數(shù)。Case 6: Total_discount_info()調(diào)用統(tǒng)計(jì)打折信息函數(shù)函數(shù)。Case 7:返回上一級菜單。在EditFlightInfo()進(jìn)入編輯航班信息子菜單中,先調(diào)用print_editFlightInfo()函數(shù),打印編輯航班信息菜單。Case 1: PutIn_Flight_Info()調(diào)用錄入航班信息函數(shù)。Case 2: ChangFlightInfo()調(diào)用修改航班信息函數(shù)。C

26、ase 3: DeleteFlightInfo()調(diào)用刪除航班信息函數(shù)。Case 4:返回上一級菜單Case 5:退出。排序函數(shù)的流程圖:開始ReturnpqYtail != lhead-next頊YY初始化: *p=LF,*lhead=LF *tail = NULL起始指向r=s;p=r;p = p-next; q = p-nexttail = q交換統(tǒng)計(jì)函數(shù)流程圖:初始化:*p=LF,*lhead =LF- next,*s=LF,*r=LF,n=:N4 .測試分析內(nèi)容包括:調(diào)試過程中遇到的問題是如何解決的以及對設(shè)計(jì)與實(shí)現(xiàn)的回顧討論和分析;主要算法的時(shí)間復(fù)雜度和空間復(fù)雜度分析,改進(jìn)設(shè)想;經(jīng)驗(yàn)

27、和體會等。一、黑盒測試目的本方案主要實(shí)施產(chǎn)品程序代碼的黑盒測試。保證軟件的功能能正常進(jìn)行,保證用戶可以 安全、快捷進(jìn)行操作測試項(xiàng)軟件的各部分的功能測試依據(jù)根據(jù)概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)說明,針對軟件說明書的步驟,對軟件的功能進(jìn)行測試。測試環(huán)境配置測試工具:軟件環(huán)境:資源文件測試步驟和用例瀏覽用戶序號測試項(xiàng)測試內(nèi)容質(zhì)量保證標(biāo)準(zhǔn)問題屬性出 錯(cuò) 頻 率T1航班查詢功能按航空代號查詢輸入航班號檢查是否查詢成功按起點(diǎn)站查詢按終點(diǎn)站查詢按航班價(jià)格查詢按打折信息查詢按飛行時(shí)間查詢返回兀備沒有0T2航班排序功能按航空代號排序輸入航班號檢查是否排序成功按起點(diǎn)站排序按終點(diǎn)站排序按航班座位數(shù)排序按票價(jià)排序按折扣信息排序7按

28、已售出座位數(shù)排序8.返回兀備T3用戶注冊功能根據(jù)軟件說明書,進(jìn)行用戶注冊兀備1T3返回根據(jù)提示返回注冊用戶序 號測試項(xiàng)測試內(nèi)容質(zhì)量保證標(biāo) 準(zhǔn)問題屬性出錯(cuò)頻 率T1用戶登錄根據(jù)瀏覽用戶中的注冊功能所注冊的用戶名和密碼進(jìn) 行登錄兀備沒有0航班查找功 能按航班號查詢按起點(diǎn)站查詢按終點(diǎn)站查詢按航班價(jià)格查詢按打折信息查詢按飛行時(shí)間查詢返回兀備T3航班排序功 能按航空代號排序輸入航班號檢查是否排序成功按起點(diǎn)站排序按終點(diǎn)站排序按航班座位數(shù)排序按票價(jià)排序按折扣信息排序7按已售出座位數(shù)排序8.返回T4國內(nèi)航班訂票功能根據(jù)用戶輸入的航班號和日期和張數(shù)進(jìn)行訂票不完備如果 用戶 沒記 住航 班號 和日 期,則 無法

29、正確 訂票1T5國際航班訂 票根據(jù)用戶輸入的航班號和日期和張數(shù)進(jìn)行訂票不完備用戶 須準(zhǔn) 確記 住航 班號 才可 訂票1T6修改個(gè)人信 息根據(jù)用戶說明,進(jìn)行操作按回 車后 沒有 修改1T7查看已訂票信息和退票察看并核對已訂票信息,和退票功能的實(shí)現(xiàn)完備T8修改個(gè)人信 息實(shí)現(xiàn)更改個(gè)人信息功能T8修改密碼為實(shí)現(xiàn)保密功能,對個(gè)人密碼進(jìn)行修改T9返回返回主菜單售票員序 號測試項(xiàng)測試內(nèi)容質(zhì)量保證 標(biāo)準(zhǔn)問題屬性出錯(cuò)頻 率T1用戶登錄根據(jù)系統(tǒng)管理員創(chuàng)建的用戶名和密碼進(jìn)行用戶登陸完備沒有0T2航班查找 功能按航班號查詢按起點(diǎn)站查詢按終點(diǎn)站查詢按航班價(jià)格查詢按打折信息查詢按飛行時(shí)間查詢返回兀備T3航班排序 功能按航

30、空代號排序輸入航班號檢查是否排序成功按起點(diǎn)站排序按終點(diǎn)站排序按航班座位數(shù)排序按票價(jià)排序按折扣信息排序7按已售出座位數(shù)排序8.返回T4已訂票用戶買票根據(jù)身份證等核對信息后,予以售票T5普通用戶買票根據(jù)用戶需要的航班號和日期售票T6返回返回主菜單系統(tǒng)管理員序號測試項(xiàng)測試內(nèi)容質(zhì)量保證 標(biāo)準(zhǔn)問題屬性出錯(cuò)頻 率T1用戶登錄根據(jù)系統(tǒng)初值用戶名admin和密碼000進(jìn)行登錄兀備沒有0T2航班查詢 功能按航班號查詢按起點(diǎn)站查詢按終點(diǎn)站查詢按航班價(jià)格查詢按打折信息查詢按飛行時(shí)間查詢按注冊用戶的姓名查找8按注冊用戶的身份證號碼查找9按注冊用戶的護(hù)照號查找兀備T3航班排序 功能按航空代號排序輸入航班號檢查是否排序成

31、功按起點(diǎn)站排序按終點(diǎn)站排序按航班座位數(shù)排序按票價(jià)排序按折扣信息排序7按已售出座位數(shù)排序8.返回T4航班統(tǒng)計(jì) 功能1統(tǒng)計(jì)航班總數(shù),已售出機(jī)票數(shù),為售出機(jī)票數(shù),打折機(jī)票情況統(tǒng)計(jì)某個(gè)航班的售票情況統(tǒng)計(jì)熱門航班的前十名統(tǒng)計(jì)本月消費(fèi)額最大的五個(gè)用戶統(tǒng)計(jì)入座率不足50%的航班統(tǒng)計(jì)打折信息7返回上一級菜單T5航班信息 錄入功能錄入新的航班信息T6航班信息修改更能修改機(jī)票的票價(jià)及打折信息T7航班信息刪除功能刪除一組航班信息T8創(chuàng)建明航機(jī)票售票 員創(chuàng)建售票員為實(shí)現(xiàn)售票員的登陸功能服務(wù)不完備沒有售票員的注銷功能T9文件備份 功能將系統(tǒng)用到的文件備份到其他地方T10修改密碼 功能系統(tǒng)管理員可根據(jù)需要修改其密碼T11

32、返回返回主界面5.用戶使用說明說明如何使用你開發(fā)的系統(tǒng),詳細(xì)列出每一步的操作步驟并給出屏幕抓圖。首先,登陸民航訂票系統(tǒng)主界面,您間看到有如下四種用戶:對此系統(tǒng)的使用作整體介紹:注冊用戶的用戶名和密碼在瀏覽用戶菜單中創(chuàng)建。售票員的用戶名和密碼在系統(tǒng)管理員 菜單中創(chuàng)建。系統(tǒng)管理員的最初用戶名為admin,密碼為000。進(jìn)入系統(tǒng)后,使用者可根據(jù)需 要,對密碼進(jìn)行修改。以確保安全。每個(gè)用戶都有查找和排序功能對航班信此查看。每一個(gè) 菜單結(jié)束,都以返回上一級菜單和推出選項(xiàng)共用戶進(jìn)行選擇。員 票 售 員 票 隹日囚戶置示理 用用om 霸豪出12 3 4 5普通用戶都為瀏覽用戶,在瀏覽用戶菜單中。瀏覽用戶功能

33、介紹:選項(xiàng)3為新用戶注冊功能。只有經(jīng)注冊后的用戶,才可選擇進(jìn)入主界面中2注冊用戶功 能。在注冊用戶的用戶登錄中填寫您已注冊的用戶名和密碼,按回車后即可進(jìn)入注冊用戶功 能菜單。注冊用戶功能介紹:自心息簡簡單訂個(gè)密- 找崖示看改改回 .*若善. 12 3 4 5 6 7您可以通過查找功能,找到您想要查看的票的相關(guān)信息,您也可以通過排序功能進(jìn)入查 看。選擇1查找功能后,您可以看到有如下幾種查找方法:查找菜單找 找息找 查 查簡查 號 錢霸單 代弁日菜 的查查的的的級 班點(diǎn)點(diǎn)班班班一回tltiux-一JT-一JT-一JT-一JT-一JT-T;1A12 3 4 5 6 0選擇2排序功能后,您可以看到有如

34、下幾種排序方法,您可以選擇您想要的方式進(jìn)行排 序查看:序- ffffffff 編單菜 口盡站數(shù)級 蕾點(diǎn)位氧佳口 一 曹終座價(jià)折己上 過過過過回 通通通通返12345678請選擇二Ld I 工在注冊用戶菜單中,您可以實(shí)現(xiàn)訂票功能。選擇3進(jìn)入訂票菜單在訂票菜單中進(jìn)行您的訂票選擇,例如你要預(yù)定的航班信息如下 Ini x:=. C:Documents and Settings詁Dtraininl、桌面danll1ightlDebugflight_sijb.exe站安 點(diǎn)西TT- 2 i 一的期麴:終 班日警心的信占 的定定器】昴 定預(yù)預(yù)航勘北 預(yù)要想定 您您您預(yù)號34 入入入要班12 請請請您返回到注

35、冊用戶菜單后,您可以選擇4進(jìn)行訂票信息查看如果您退票,請輸入Y或y,如果不退票 請輸入N或n .注冊用戶菜單中,您也可以對您的信息進(jìn)行修改。選擇5修改個(gè)人信息后,您將看到系 統(tǒng)為您輸出您的相關(guān)信息:由您確認(rèn)是否進(jìn)行修改。注冊用戶菜單中,您可以選擇6對您的密碼進(jìn)行修改。返回主菜單。在主菜單中,3售票員的用戶名和密碼,是由系統(tǒng)管理員創(chuàng)建的。選擇4進(jìn)入系統(tǒng)管理員菜單。系統(tǒng)管理員的最初用戶名是admin,密碼是000。進(jìn)入管理員菜單系統(tǒng)管理員菜單功能介紹:息票信機(jī) 單碼菜航民1密主 找辱輯建隹回 .*催劇次-顯 12345678查找和排序功能與以上三種用戶的相同,3統(tǒng)計(jì)菜單只有系統(tǒng)管理員可見,其他三種

36、用戶沒有此功能。統(tǒng)計(jì)菜單、等 目況 數(shù)情 重 的肅戶 客 個(gè)5的壬&出打目售曷茗額弗 己目售10數(shù)50 、數(shù)的前費(fèi)足單 數(shù)西錠息菜 總蕃個(gè)門本座折一 k黃在入打上 計(jì)隹戶廠廠廠廠1T回 統(tǒng)未統(tǒng)統(tǒng)統(tǒng)統(tǒng)統(tǒng)返請選擇二兇 I 日孩系統(tǒng)管理員可根據(jù)以上6種方法對航班的相關(guān)信息進(jìn)行統(tǒng)計(jì)。4選項(xiàng)對航班信息進(jìn)行編 輯。入息息! 錄信信級 息班班一信上班改除回出 盎戒.fl 12 3 4 5請選擇I 7D1錄入新的航班信息,例如您錄入信息如下:您也可以選擇2或3選項(xiàng)對航班信息進(jìn)行修改和刪除。5選項(xiàng)創(chuàng)建民航機(jī)票售票員。注冊民航機(jī)票售票員后,您可由此用戶名和密碼,登陸主界 面中民航機(jī)票售票員選項(xiàng)。系統(tǒng)管理員菜單中6

37、選項(xiàng),可實(shí)現(xiàn)文件備份功能。如將D盤根目錄下的flight.txt文件, 備份到C盤根目錄下。進(jìn)入主菜單,選項(xiàng)3進(jìn)入民航機(jī)票售票員選項(xiàng)。用戶名和密碼為系統(tǒng)管理員創(chuàng)建的。民航機(jī)票售票員菜單功能介紹:L3- 菜 - 找崖示回 查整枝 12 3 43選項(xiàng),進(jìn)入售票菜單:票單 買西戶買級 昌一票用上訂通回出己退12 3 4請選擇二售票菜單分為已訂票用戶買票和未訂票用戶買票。已訂票用戶又分為國際航班和國內(nèi)航 班。國內(nèi)航班由訂票者的身份證來驗(yàn)證您是否已訂票。國際航班用訂票者的簽證和護(hù)照來驗(yàn) 真你是否已訂票6 .附錄帶注釋的源程序清單。需要注意的是,實(shí)習(xí)報(bào)告的各種文檔資料如上述中的前三部分要在程序開發(fā)的過程中

38、逐 漸充實(shí)形成Flight_Book.h頭文件如下#ifndef _FLIGHT_BOOK_H_#define _FLIGHT_BOOK_H_#include #include #include #include #include #include #include #include #includeFlight_Book_define.h”#includeFlight_Book_hanshu.h”#includeFlight_Book_struct.h”#endifFlight_Book_define.h 頭文件如下#ifndef _FLIGHT_BOOK_DEFINE_H_#define

39、_FLIGHT_BOOK_DEFINE_H_姓名的最大長度/身份證號的最大長度/護(hù)照號的長度/國家字母的最大長度日期的長度/最長航班號/place的最大長度/密碼的長度/民族的最大長度/確定退出系統(tǒng)#define Name_Length_Max (20)#define ID_No (18)#define Passport_No (13)#define Country_Length_Max (20)#define Date_Length (9)#define Flight_No_Max (10)#define Place_Length_Max (10)#define Password_Lengt

40、h (32)#define Nation_Length_Max (20)#define EXIT_STATUS_YES ( -1 )#define EXIT_STATUS_NO ( 0#define RET_SUCCESS ( 0 )#define LOGIN_SUCCESS (1)#define LOGIN_FAIL (0)#define flag (1)#define Initial (0)#define Crash_Init (0.0)#define SearchYes (1)#define HotFlight (10)#define TopCustom (5))/確定返回系統(tǒng)(不退出)

41、標(biāo)志函數(shù)以正確狀態(tài)返回登陸成功登陸失敗/flag標(biāo)志/初始值為零消費(fèi)金額初始化查找成功標(biāo)志位/熱門航班前10名消費(fèi)數(shù)額最大的前5個(gè)客戶#endifFlight_Book_struct.h 如下#ifndef _FLIGHT_BOOK_STRUCT_H_#define _FLIGHT_BOOK_STRUCT_H_typedef enum front_MENUMENU_SCANUSER=1,MENU_REGISTUSER,MENU_SELLER,MENU_ADMIN,MENU_EXITMENU_SELECT;typedef enum admin_MENUAMENU_SEARCH=1,AMENU_S

42、ORT,/主菜單的用戶輸入選擇/選擇瀏覽用戶/選擇注冊用戶/選擇民航機(jī)票售票員售票員選擇系統(tǒng)管理員/退出主菜單/系統(tǒng)管理員菜單輸入選擇/進(jìn)入查找菜單/進(jìn)入排序菜單AMENU_TOTAL,AMENU_PUTIN,AMENU_CREATESELLER,AMENU_SYSOPERAT,AMENU_CHGPSWORD,AMENU_EXITAMENU_SELECT;/進(jìn)入統(tǒng)計(jì)菜單/選擇航班信息錄入/創(chuàng)建民航機(jī)票售票員售票員/文件備份/修改密碼返回主菜單typedef struct Flight_Info/航班信息、char FlightNoFlight_No_Max;/航班號char FromPlace

43、Place_Length_Max;/航線起始站char ToPlacePlace_Length_Max;/航線終點(diǎn)站char DateDate_Length;/航班日期int SeatAmount;/票數(shù)int unSoldAmount;/剩余票數(shù)int Price;/票價(jià)float Discount;/折扣信息struct Flight_Info *next;F_Info,*Flight_List;typedeftruct Booker_Info訂票人信息charUserNameName_Length_Max;/用戶名charPasswordPassword_Length;/密碼charNa

44、meName_Length_Max;/姓名charSex;性別charNationNation_Length_Max;/民族charIDID_No;/身份證號float Crash;/累計(jì)購票金額MENU_SELECT type;struct Booker_Info *next;Booker_Info,*Booker_List;typedef struct User_Booked_Ticketchar UserNameName_Length_Max;char FlightNoFlight_No_Max;char DateDate_Length;int BookAmount;char IDID_

45、No;struct User_Booked_Ticket * next;User_Booked_Ticket,*Ticket_List;typedef struct outcountry_User_Booked_Ticket char UserNameName_Length_Max;char FlightNoFlight_No_Max;char DateDate_Length;int BookAmount;char IDID_No;char VisaCountryCountry_Length_Max;char VisaDateDate_Length;char PassportPassport_

46、No;國內(nèi)用戶訂票信息/用戶名/航班號/航班日期/訂票數(shù)身份證號國際用戶訂票信息/用戶名/航班號航班日期/訂票數(shù)/身份證號簽證國家簽證日期/護(hù)照號struct outcountry_User_Booked_Ticket * next;outcountry_User_Booked_Ticket,*outcountry_Ticket_List;typedef enum tagF_SEARCHF_SEARCH_BY_NO = 1,F_SEARCH_BY_FROMPLACE,F_SEARCH_BY_TOPLACE,F_SEARCH_BY_PRICE,F_SEARCH_BY_DISCOUNT,F_SEA

47、RCH_BY_DATE,F_SEARCH_BY_REGISTNAME,查找菜單的用戶輸入選擇通過航班號查找/通過起始站查找通過終點(diǎn)站查找/通過價(jià)格查找通過折扣信息查找/通過日期查找通過注冊用戶姓名查找F_SEARCH_BY_ID,F_SEARCH_BY_PASSPORT,F_SEARCH_EXIT=0F_SEARCH_MENU_SELECT;typedef enum tagF_SORTF_SORT_BY_NO = 1,F_SORT_BY_FROMPLACE,F_SORT_BY_TOPLACE,F_SORT_BY_SEATAMOUNT,F_SORT_BY_PRICE,F_SORT_BY_DISC

48、OUNT,F_SORT_BY_UNSOLDAMOUNT,F_SORT_EXITF_SORT_MENU_SELECT;/通過注冊用戶身份證號查找通過護(hù)照號查找/退出查找菜單排序菜單的用戶輸入選擇/通過航班號排序/通過起始站排序通過終點(diǎn)站排序通過座位數(shù)排序/通過票價(jià)排序/通過折扣排序/通過未售座位數(shù)排序/退出排序菜單typedef enum tagF_TOTALF_TOTAL_ALLFLIGHT=1,F_TOTAL_SINGLE,F_TOTAL_POPU_TENTH,F_TOTAL_MONTH_CUSTOM,F_TOTAL_F_HALF_SEAT,F_TOTAL_DISCOUNT_INFO,F_T

49、OTAL_EXITF_TOTAL_MENU_SELECT;統(tǒng)計(jì)菜單的用戶輸入選擇/統(tǒng)計(jì)航班總數(shù)、已售出的機(jī)票數(shù)目、未售出的機(jī)票數(shù)目、打折機(jī)票情況等統(tǒng)計(jì)某個(gè)航班的售票情況統(tǒng)計(jì)熱門航班前10名/統(tǒng)計(jì)在本月消費(fèi)數(shù)額最大的5個(gè)客戶統(tǒng)計(jì)入座率不足50%的航班/統(tǒng)計(jì)打折信息/退出統(tǒng)計(jì)菜單typedef enum scan_MENUSMENU_SEARCH=1,SMENU_SORT,SMENU_REGISTER,瀏覽用戶的菜單輸入選擇/進(jìn)入查找菜單/進(jìn)入排序菜單注冊新用戶SMENU_EXIT/進(jìn)入返回主菜單SMENU_SELECT;typedef enum register_MENU/注冊用戶菜單輸入選擇R

50、MENU_SEARCH=1,/進(jìn)入查找菜單RMENU_SORT,/進(jìn)入排序菜單RMENU_BOOK,/RMENU_DROP,訂票退票RMENU_SHOWBOOKINFO,/查看訂票記錄RMENU_CHANGEINFO,/修改個(gè)人信息RMENU_CHANGEPSWORD,修改密碼RMENU_EXIT/返回主菜單RMENU_SELECT;typedef enum rbookticket_MENURBMENU_INCOUNTRY=1,/國內(nèi)航班選擇RBMENU_OUTCOUNTRY,/國際航班選擇RBMENU_LAST,返回上一級菜單RBMENU_EXIT/返回主菜單RBMENU_SELECT;ty

51、pedef enum rshow_bookedticket_MENU/注冊用戶查看訂票信息RBMENU_SHOWINCBOOKT=1,/查看已定國內(nèi)航班信息選擇RBMENU_SHOWOUTCBOOKT,/查看已定國際航班信息選擇RSHOWBTMENU_LAST,返回上一級菜單RSHOWBTMENU_EXIT/返回主菜單SHOWBOOKTMENU_SELECT;typedef enum seller_MENU售票員菜單輸入選擇SLMENU_SEARCH=1,/進(jìn)入查找菜單SLMENU_SORT,/進(jìn)入排序菜單SLMENU_NEWINFO,/編輯航班信息SLMENU_EXIT/返回主菜單SLMEN

52、U_SELECT;typedef enum buyticket_MENUBOOKER_BUY=1,GENERAL_BUY,BUY_RETURN, BUY_EXIT BUYTICKET_SELECT;typedef enum editflight_MENUFLIGHT_INPUT=1,FLIGHT_CHANG,FLIGHT_DELET,FLIGHT_RETURN,FLIGHT_EXITEDITFLIGHT_SELECT;售票員賣票菜單輸入選擇已訂票用戶買票未訂票用戶買票返回上一級菜單退出/編輯航班信息菜單的輸入選擇/航班信息錄入/修改航班信息/刪除航班信息返回上一級菜單/退出typedef en

53、um sysoperat_MENUSYS_RECOPY=1,SYS_RECOVERY,SYS_RETURN,SYS_EXIT SYSOPERAT_SELECT;#endifFlight_Book_hanshu.h 如下#ifndef _FLIGHT_BOOK_HANSHU_H_#define _FLIGHT_BOOK_HANSHU_H_#includeFlight_Book.h”#includeFlight_Book_struct.h”void Initsys();int Register_new_user(MENU_SELECT);int login(MENU_SELECT , Booker

54、_List *);int change_userinfo(Booker_List);void Password(char* );int change_password();void Encrypt(char* cSrc,char* cDest);void Decrypt(char* cSrc,char* cDest);void print_front_menu();int get_front_menu();void print_search_menu(MENU_SELECT);int get_search_menu(MENU_SELECT);int Search_by_no();int Search_by_fromplace();int Search_by_toplace();int Search_by_price();int Search_by_discount();int Search_by_date();int Search_by_registname();int Search_by_ID();int Search_by_passport();void print_sort_menu();int get_sort_menu();int Sort_by_no();/文件載入注冊新用戶登陸注冊用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論