




已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象程序設計II 課程設計指導書 題目: 賓館管理系統(tǒng)學院: 計算機科學與工程學院專業(yè): 軟件工程 班級: 133301學號: 20133503 20133490 20133482姓名:王帥 劉俊 甘雨指導老師: 韓旭明設計日期:2015.6.24-2015.6.30 一、課程設計的目的1) 學習綜合運用C高級語言課程和其他先修課程的知識,提高分析和解決實際問題的的能力,進一步鞏固、加深和拓寬所學的知識;進一步加強結構化程序設計的思想,加深對高級語言基本語言要素和控制結構的理解。2) 全面系統(tǒng)的學習面向對象程序設計的基本概念、基本語法和編程方法;獨立完成有一定工作量的程序設計任務,同時強調好的程序設計風格。3) 掌握程序設計中的常用算法和C語言的編程技巧和上機調試程序的方法。4) 在參與一系列子項目的實踐過程中,提高如何綜合運用所學知識解決實際問題的能力,以及獲得相關項目管理和團隊合作等眾多方面的具體經驗。2、 課程設計的任務按照如下要求,運用C+語言,編寫一套可用的較為完善的賓館住宿管理系統(tǒng)軟件(兩人分模塊合作)1) 對賓館基本信息【房間數量、房間類別(標間、單間、套房)、收費標準等】在適當范圍內自行規(guī)定。2) 能夠實現預定登記、入住登記、退房結算等功能;房間狀態(tài)(空房、入住、預定)能夠以一定方式直觀地表現。3) 能夠錄入住宿人員信息、計算客戶消費總額并生成賬單,賬單信息存入到磁盤文件當中去。4) 能夠相對靈活地查詢房間狀態(tài)、入住情況、空房情況、預訂情況等內容。5) 能夠產生各類報表,如房間信息、入住信息、消費表單等在磁盤文件當中可以查看它們的信息。三、系統(tǒng)設計方案3.1系統(tǒng)詳細描述3.1.1系統(tǒng)設計背景隨著人民生活水平的提高,旅游出行的人越來越多,賓館的客流量不斷增加,普通的手寫登記太過復雜經常出現信息丟失,也不適合現在的節(jié)約型社會的發(fā)展,賓館在正常運營中需要對客房資源、顧客信息、退房信息等進行管理,利用客房管理系統(tǒng)及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理的效率。 本項目作為c+課程設計的訓練項目提出,目的是為了提高同學們系統(tǒng)的開發(fā),則提高大家的實踐能力。所以開發(fā)一個符合自身賓館實際情況的工作平臺是十分必要的。3.1.2系統(tǒng)設計詳細信息系統(tǒng)使用對象設定為百康賓館。百康酒店是一家鄉(xiāng)鎮(zhèn)中小型賓館,三層建筑,擁有各類房間共20間。其中一層均為單人間,共9間,房號101-109;二層為均雙人間,共6間,房號201-206;三層均為豪華套房,共5間,房號301-305。各類房間均設有電視、櫥柜、內網電話、風扇、暖氣等基礎設施,24小時熱水供應,可淋浴。一層前臺處設有便捷商店,當時結算,不計入住宿賬單??赏ㄟ^內網電話購買,免費送至房間。A、收費標準:有按天計費和按小時計費兩種收費標準。按天計費,標準為單人間 170元/天,雙人間280元/天,豪華套房500元/天。按小時計費,標準為單人間20元/小時,雙人間30元/小時,豪華套房50元/小時。B、計時標準:按天計費時,從0時至次日0時計一天,不滿一天按一天計算;按小時計費時,不滿一小時按一小時計費。(特殊情形的優(yōu)惠政策不在本設計考慮范圍之內)C、定金標準:入住定金按(預計入住時間*其單日房費+500元)收取,退房時充作房費和房屋設施折損費(抵償損壞的房內設施),多退少補。預定定金(按預計訂房時間*對應房間按天計算住宿價格*40%)收取,若到時不入住且不續(xù)訂,則不再退還;若到時入住,充作入住定金,多退少補。電話預定無需繳納定金,但不確保屆時有空房間。注:定金數額可在以上標準數額之上,退房結算時多退少補。 退房時,室內設施經確認無損壞情況,則不收取房屋設施折損費。3.2功能模塊劃分3.2.1功能模塊描述根據任務內容要求及賓館相關情況等信息,百康賓館住宿管理系統(tǒng)需要實現查詢功能(包括客房總體使用情況查詢、已入住客房查詢、已預訂客房查詢、閑置房間信息查詢等查詢方式),訂房登記,入住登記,退房結算等四大基本功能。系統(tǒng)應實現對各類信息的靈活查找,客戶信息的錄入、保存與調用,自動結算并生成賬單等操作。為了簡化前臺人員操作并提高其工作效率,還應實現開始前初始化詢問,訂房或入住登記時自動顯示當前閑置房間,入住前詢問是否已預訂,輸入錯誤信息時進行提醒等人性化功能。由以上分析,將系統(tǒng)主要分為以下四大功能模塊,如圖3.1所示:1) 客房查詢:包括查詢客房總體使用情況、查詢當前閑置房間信息、查詢已入住房間信息、查詢已預定房間信息等查詢功能;2) 訂房登記:包括顯示當前閑置房間信息、登記預定信息等功能;3) 入住登記:包括顯示當前房間總體使用情況、詢問是否預定過房間、登記入住人信息等功能;4) 退房結算:包括選擇結算方式、輸入結算時間、計算住宿費用等功能。百康賓館住宿管理系訂房登記入住登記客房查詢退房結算客房總體信息查詢已預訂房間信息查詢已入住房間信息查詢閑置房間信息查詢圖3.1功能模塊結構圖3.2.2輸入項以下輸入項均為鍵盤輸入:num房間號 ,intkongxian房間是否空閑 ,int name20名字定義, char name20 ID20身份證號(18位阿拉伯數字),char ID20lianxifangshi15聯(lián)系方式(11位阿拉伯數字),char lianxifangshi15yajin押金, int yudingriqi預定日期(日期均為8位阿拉伯數字,格式為年月日), long ruzhushijian入住日期 ,long tianshu預計天數, int jiezhiriqi截止日期 ,long p是否初始化(0或1), intchose選擇主菜單(1,2,3,4或5), intt計費方式(1或2), inti子菜單選擇(1,2,3,4或5)(不同模塊可能定義不同), inta是否預定過房間(在ruzhudengji()定義的),int3.2.3輸出項房間號, int房間類型 ,char leixing10價格(元/天), int價格(元/小時) ,int是否空閑 ,int客人姓名,char name20身份證,char ID20聯(lián)系方式 ,charlianxifangshi15押金(元), int預定日期 ,long入住時間 ,long預計天數, int截止日期, long四、系統(tǒng)實現與測試4.1主菜單模塊實現4.1.1主菜單流程圖圖4.1主菜單流程圖4.1.2主菜單代碼void Menu_Display()system(cls);couttt#endl;couttt# 歡迎使用百康賓館管理系統(tǒng) #endl;couttt# 請輸入您所需要的功能: #endl;couttt# 1.客房查詢 2.訂房登記 #endl;couttt# 3.入住登記 4.退 房 #endl;couttt# 5. 退 出 #endl;couttt# 感 * 謝 * 您 * 的 * 使 * 用 #endl;couttt#endl;void chushihua()int i3=1,0,1,k=0;for(;k20;k+)hotelk.num=i0*100+i1*10+i2;strcpy(hotelk.ID,0);hotelk.jiezhiriqi=0;hotelk.kongxian=0;strcpy(hotelk.lianxifangshi,0);strcpy(,0);hotelk.ruzhushijian=0;hotelk.tianshu=0;hotelk.yudingriqi=0;switch(i0)case 1:hotelk.jiage=17020;strcpy(hotelk.leixing,單人間);break;case 2:hotelk.jiage=28030;strcpy(hotelk.leixing,雙人間);break;case 3:hotelk.jiage=50050;strcpy(hotelk.leixing,套房);break;if(k=8)i0+,i2=0;if(k=14)i0+,i2=0;i2+;fstream xieru(賓館房間信息.txt,ios:out);xieru房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預定日期 入住時間 天數 截止日期 endl; for(int x=0;x20;x+) xieruhotelx.num hotelx.leixing hotelx.jiage hotelx.kongxian hotelx.ID hotelx.lianxifangshi hotelx.yajin hotelx.yudingriqi hotelx.ruzhushijian hotelx.tianshu hotelx.jiezhiriqiendl; xieru.close();void main()int p=0;cout是否要初始化房間信息?;cout(是請輸入1,否請輸入0)p;if(p=1)chushihua();int chose;Menu_Display();coutchose;while(chose!=0) switch(chose)/用switch語句判斷選擇菜單的功能case 1:search_message();break; /客房查詢case 2:dingfangdengji();break;/訂房間case 3:ruzhudengji();break;/入住房間case 4:tuifang();break;/退房case 5:exit(0); default:cout輸入錯誤,請重新輸入endl; /提示錯誤命令 couttt#endl;couttt# 歡迎使用百康賓館管理系統(tǒng) #endl;couttt# 請輸入您所需要的功能: #endl;couttt# 1.客房查詢 2.訂房登記 #endl;couttt# 3.入住登記 4.退 房 #endl;couttt# 5. 退 出 #endl;couttt# 感 * 謝 * 您 * 的 * 使 * 用 #endl;couttt#endl;coutchose;while(chose=0)cout輸入錯誤,按任意鍵退出程序:endl;exit(0);4.1.3主菜單模塊測試主菜單界面中顯示客房管理系統(tǒng)的功能選項模塊如圖4.2所示:圖4.2主菜單4.2入住登記模塊實現4.2.1入住登記流程圖圖4.3入住登記流程圖4.2.2入住登記代碼void ruzhudengji()int a,b=0;string name;ifstream liulan(賓館房間信息.txt,ios:in); /定義輸入文件流對象,以輸入方式打開磁盤文件旅信if(!liulan) /判斷文件是否打開成功cerr文件不能讀.endl;return;elseliulan.seekg(117,ios:beg);/在輸入文件開頭以參照位置為基礎移動若干字節(jié)(beg=begin)int i=0; /存放空閑房間的號碼 cout房間號 類型 價格(元/天) 價格(元/小時) 空閑 endl;while (hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihoteli.ruzhushijianhoteli.tianshuhoteli.jiezhiriqi;coutsetw(4)hoteli.numsetw(8)hoteli.leixingsetw(9)hoteli.jiage/100setw(14)hoteli.jiage%100setw(13)hoteli.kongxian; /輸出所有房間信息i+,coutendl;liulan.close(); /關閉文件cout(注:0表示空房間、1表示房間已入住、2表示房間已預訂)endl;cout是否預訂過房間?endl;cout是,請輸入1,否,請輸入2a;if(a=1)cout請輸入房間號:b;for(i=0;i20;i+)if(hoteli.num=b)if(hoteli.yudingriqi!=0)couthoteli.ruzhushijian;couthoteli.jiezhiriqi;hoteli.yudingriqi=0;elsecout該房沒有被預訂過endl;system(pause);elsecout空房間有:endl;for(int k=0;k20;k+)if(hotelk.kongxian=0)couthotelk.num ;coutendl;coutb;for(i=0;i20;i+)if(hoteli.num=b)cout請依次輸入以下信息并加以核對 (日期格式:年月日 例如 19920503 )endl;;couthoteli.ID;couthoteli.lianxifangshi;couthoteli.yajin;couthoteli.tianshu;couthoteli.ruzhushijian;hoteli.kongxian=2;ofstream xieru(賓館房間信息.txt,ios:out); /寫回文件xieru房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預定日期 入住時間 天數 截止日期 endl;for(i=0;i20;i+)xieruhoteli.num hoteli.leixing hoteli.jiage hoteli.kongxian hoteli.ID hoteli.lianxifangshi hoteli.yajin hoteli.yudingriqi hoteli.ruzhushijian hoteli.tianshu hoteli.jiezhiriqiendl; xieru.close();cout登記成功endl;4.2.3入住登記模塊測入住登記界面顯示了房間使用情況以及提示以前是否預訂過房間如圖4.4所示:圖4.4入住登記界面如果客人預定過房間,則選擇“1”,然后輸入預訂房間號如圖4.5所示。輸入入住日期和截止日期則“登記成功”如圖4.6所示。圖4.5選擇訂過房間入住登記界面圖4.6訂過房間入住登記界面未預訂過房間則選擇“2” 則會顯示出目前的空房間信息如圖4.7所示,根據系統(tǒng)提示輸入客人的信息則“登記成功”如圖4.8所示。圖4.7選擇未訂過房間入住登記界面圖4.8選擇未訂過房間入住登記輸入信息界面4.3退房結算模塊實現4.3.1退房結算流程圖 圖4.9 退房結算流程圖4.3.2退房結算代碼void tuifang() int a,b;ifstream fin(賓館房間信息.txt,ios:in);couta;int c=0,i=0;fin.seekg(117,ios:beg);/在輸入文件開頭以參照位置為基礎移動若干字節(jié)(beg=begin)while(hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihoteli.ruzhushijianhoteli.tianshuhoteli.jiezhiriqi;if(hoteli.num=a) /查詢客人房間b=i;i+;fin.close();cout房間信息為:endl;cout 姓名: 押金(元): 入住時間: endl;coutsetw(6)setw(8)hotelb.yajinsetw(20)hotelb.ruzhushijianendl;cout(注:日期輸入格式 年月日 例如 20120101 )endl;coutd;hotelb.jiezhiriqi=d;int fei;coutt;if(t=2)fei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage/100); /結算函數,押金(結算時間-入住時間)*價格elsefei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage%100); /按小時計算if(fei0)fei=-fei;cout應付費用為:fei元endl;elsecout總消費金額為:hotelb.yajin-fei元endl;cout押金足夠 應返還給您:fei元endl;fstream jsxx(結算信息.txt,ios:out); jsxx消費信息為:endl;jsxx姓名:endl押金(元):hotelb.yajinendl入住時間:hotelb.ruzhushijianendl結算時間:dendl; if(t=2)jsxx計費方式:按天數計費endl;elsejsxx計費方式:按小時計費endl; jsxx總消費金額為:hotelb.yajin-fei元endl;jsxx押金足夠 應返還給您:fei元endl;jsxx.close();hotelb.kongxian=0; /房間結算后初始化房間信息strcpy(,0);strcpy(hotelb.ID,0);strcpy(hotelb.lianxifangshi,0);hotelb.yudingriqi=0;hotelb.ruzhushijian=0;hotelb.jiezhiriqi=0;hotelb.yajin=0;hotelb.tianshu=0;hotelb.jiezhiriqi=0;fstream xieru(賓館房間信息.txt,ios:out);/生成文件xieru房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預定日期 入住時間 天數 截止日期 endl;for(i=0;i20;i+)xieruhoteli.num hoteli.leixing hoteli.jiage hoteli.kongxian hoteli.ID hoteli.lianxifangshi hoteli.yajin hoteli.yudingriqi hoteli.ruzhushijian hoteli.tianshu hoteli.jiezhiriqiendl; xieru.close();system(pause);4.3.3退房結算模塊測試選擇退房功能輸入房間號則會顯示出客人的基本信息如圖4.10所示;根據系統(tǒng)提示輸入結算日期并選擇結算方式則“結算結束”如圖4.11和圖4.12所示。賬單信息存入到磁盤文件當中去,如圖4.13所示。圖4.10退房結算輸入結算房間號后界面圖圖4.11退房結算輸入日期界面圖4.12退房結算完成界面圖4.13退房結算信息文件五、附錄:程序代碼#include#include /輸出流控制#include#include /輸入輸出文件流using namespace std;void search_message();void dingfangdengji();void ruzhudengji();void tuifang();void all_message();void empty_message();void ruzhixinxi();void dingfangxinxi();struct hotel /定義結構體int num;char leixing10;int jiage;int kongxian;char name20;char ID20;char lianxifangshi15;int yajin;long yudingriqi;long ruzhushijian;int tianshu;long jiezhiriqi;hotel20;void Menu_Display()system(cls);couttt#endl;couttt# 歡迎使用百康賓館管理系統(tǒng) #endl;couttt# 請輸入您所需要的功能: #endl;couttt# 1.客房查詢 2.訂房登記 #endl;couttt# 3.入住登記 4.退 房 #endl;couttt# 5. 退 出 #endl;couttt# 感 * 謝 * 您 * 的 * 使 * 用 #endl;couttt#endl;void chushihua()int i3=1,0,1,k=0;for(;k20;k+)hotelk.num=i0*100+i1*10+i2;strcpy(hotelk.ID,0);hotelk.jiezhiriqi=0;hotelk.kongxian=0;strcpy(hotelk.lianxifangshi,0);strcpy(,0);hotelk.ruzhushijian=0;hotelk.tianshu=0;hotelk.yudingriqi=0;switch(i0)case 1:hotelk.jiage=17020;strcpy(hotelk.leixing,單人間);break;case 2:hotelk.jiage=28030;strcpy(hotelk.leixing,雙人間);break;case 3:hotelk.jiage=50050;strcpy(hotelk.leixing,套房);break;if(k=8)i0+,i2=0;if(k=14)i0+,i2=0;i2+;fstream xieru(賓館房間信息.txt,ios:out);xieru房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預定日期 入住時間 天數 截止日期 endl; for(int x=0;x20;x+) xieruhotelx.num hotelx.leixing hotelx.jiage hotelx.kongxian hotelx.ID hotelx.lianxifangshi hotelx.yajin hotelx.yudingriqi hotelx.ruzhushijian hotelx.tianshu hotelx.jiezhiriqiendl; xieru.close();void main()int p=0;cout是否要初始化房間信息?;cout(是請輸入1,否請輸入0)p;if(p=1)chushihua();int chose;Menu_Display();coutchose;while(chose!=0) switch(chose)/用switch語句判斷選擇菜單的功能case 1:search_message();break; /客房查詢case 2:dingfangdengji();break;/訂房間case 3:ruzhudengji();break;/入住房間case 4:tuifang();break;/退房case 5:exit(0); default:cout輸入錯誤,請重新輸入endl; /提示錯誤命令 couttt#endl;couttt# 歡迎使用百康賓館管理系統(tǒng) #endl;couttt# 請輸入您所需要的功能: #endl;couttt# 1.客房查詢 2.訂房登記 #endl;couttt# 3.入住登記 4.退 房 #endl;couttt# 5. 退 出 #endl;couttt# 感 * 謝 * 您 * 的 * 使 * 用 #endl;cou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省上饒市廣信區(qū)2023-2024學年七年級下學期6月期末考試數學試卷(含答案)
- 2023年北京行政執(zhí)法資格考試預測題(含答案)
- 2022屆高考語文閱讀能力提升:文學類閱讀答題指導
- 2025年公共衛(wèi)生管理師職業(yè)資格考試卷及答案
- 小學生青春健康教育活動
- 《高等數學》上冊課件12-02概率的定義與計算
- 小學心理健康教育微課
- 2025年金融市場分析師職業(yè)考試試題及答案
- 以案說紀警示教育
- 養(yǎng)老機構老年人心理評估規(guī)范
- 池州市中銀礦業(yè)發(fā)展有限公司池州市貴池區(qū)梅街松山鐵銅多金屬礦礦山地質環(huán)境保護與土地復墾方案
- 物業(yè)前期承接查驗報告模板
- 挖掘機、裝載機檢驗報告完整
- 《重慶市建設工程費用定額》電子版
- 報價單模板完整版
- 2023年山東軍轉真題
- 2023年杭州育才中學小升初語文考試真題卷含標準答案
- 2023年安徽六安市裕安區(qū)城鄉(xiāng)建設投資集團有限公司招聘筆試題庫及答案解析
- 超市營業(yè)員聘用勞務合同書(2篇)
- GB/T 2832-1996陶管抗外壓強度試驗方法
- GB/T 19974-2018醫(yī)療保健產品滅菌滅菌因子的特性及醫(yī)療器械滅菌過程的開發(fā)、確認和常規(guī)控制的通用要求
評論
0/150
提交評論