版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 面向?qū)ο蟪绦蛟O(shè)計II 課程設(shè)計指導(dǎo)書 題目: 賓館管理系統(tǒng)學(xué)院: 計算機科學(xué)與工程學(xué)院專業(yè): 軟件工程 班級: 133301學(xué)號: 20133503 20133490 20133482姓名:王帥 劉俊 甘雨指導(dǎo)老師: 韓旭明設(shè)計日期:2015.6.24-2015.6.30 一、課程設(shè)計的目的1) 學(xué)習綜合運用C高級語言課程和其他先修課程的知識,提高分析和解決實際問題的的能力,進一步鞏固、加深和拓寬所學(xué)的知識;進一步加強結(jié)構(gòu)化程序設(shè)計的思想,加深對高級語言基本語言要素和控制結(jié)構(gòu)的理解。2) 全面系統(tǒng)的學(xué)習面向?qū)ο蟪绦蛟O(shè)計的基本概念、基本語法和編程方法;獨立完成有一定工作量的程序設(shè)計任務(wù),同時強
2、調(diào)好的程序設(shè)計風格。3) 掌握程序設(shè)計中的常用算法和C語言的編程技巧和上機調(diào)試程序的方法。4) 在參與一系列子項目的實踐過程中,提高如何綜合運用所學(xué)知識解決實際問題的能力,以及獲得相關(guān)項目管理和團隊合作等眾多方面的具體經(jīng)驗。2、 課程設(shè)計的任務(wù)按照如下要求,運用C+語言,編寫一套可用的較為完善的賓館住宿管理系統(tǒng)軟件(兩人分模塊合作)1) 對賓館基本信息【房間數(shù)量、房間類別(標間、單間、套房)、收費標準等】在適當范圍內(nèi)自行規(guī)定。2) 能夠?qū)崿F(xiàn)預(yù)定登記、入住登記、退房結(jié)算等功能;房間狀態(tài)(空房、入住、預(yù)定)能夠以一定方式直觀地表現(xiàn)。3) 能夠錄入住宿人員信息、計算客戶消費總額并生成賬單,賬單信息存
3、入到磁盤文件當中去。4) 能夠相對靈活地查詢房間狀態(tài)、入住情況、空房情況、預(yù)訂情況等內(nèi)容。5) 能夠產(chǎn)生各類報表,如房間信息、入住信息、消費表單等在磁盤文件當中可以查看它們的信息。三、系統(tǒng)設(shè)計方案3.1系統(tǒng)詳細描述3.1.1系統(tǒng)設(shè)計背景隨著人民生活水平的提高,旅游出行的人越來越多,賓館的客流量不斷增加,普通的手寫登記太過復(fù)雜經(jīng)常出現(xiàn)信息丟失,也不適合現(xiàn)在的節(jié)約型社會的發(fā)展,賓館在正常運營中需要對客房資源、顧客信息、退房信息等進行管理,利用客房管理系統(tǒng)及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理的效率。 本項目作為c+課程設(shè)計的訓(xùn)練項目提出,目的是為了提高同學(xué)們系統(tǒng)的開發(fā),則提高大家的實踐能力。
4、所以開發(fā)一個符合自身賓館實際情況的工作平臺是十分必要的。3.1.2系統(tǒng)設(shè)計詳細信息系統(tǒng)使用對象設(shè)定為百康賓館。百康酒店是一家鄉(xiāng)鎮(zhèn)中小型賓館,三層建筑,擁有各類房間共20間。其中一層均為單人間,共9間,房號101-109;二層為均雙人間,共6間,房號201-206;三層均為豪華套房,共5間,房號301-305。各類房間均設(shè)有電視、櫥柜、內(nèi)網(wǎng)電話、風扇、暖氣等基礎(chǔ)設(shè)施,24小時熱水供應(yīng),可淋浴。一層前臺處設(shè)有便捷商店,當時結(jié)算,不計入住宿賬單??赏ㄟ^內(nèi)網(wǎng)電話購買,免費送至房間。A、收費標準:有按天計費和按小時計費兩種收費標準。按天計費,標準為單人間 170元/天,雙人間280元/天,豪華套房500
5、元/天。按小時計費,標準為單人間20元/小時,雙人間30元/小時,豪華套房50元/小時。B、計時標準:按天計費時,從0時至次日0時計一天,不滿一天按一天計算;按小時計費時,不滿一小時按一小時計費。(特殊情形的優(yōu)惠政策不在本設(shè)計考慮范圍之內(nèi))C、定金標準:入住定金按(預(yù)計入住時間*其單日房費+500元)收取,退房時充作房費和房屋設(shè)施折損費(抵償損壞的房內(nèi)設(shè)施),多退少補。預(yù)定定金(按預(yù)計訂房時間*對應(yīng)房間按天計算住宿價格*40%)收取,若到時不入住且不續(xù)訂,則不再退還;若到時入住,充作入住定金,多退少補。電話預(yù)定無需繳納定金,但不確保屆時有空房間。注:定金數(shù)額可在以上標準數(shù)額之上,退房結(jié)算時多退
6、少補。 退房時,室內(nèi)設(shè)施經(jīng)確認無損壞情況,則不收取房屋設(shè)施折損費。3.2功能模塊劃分3.2.1功能模塊描述根據(jù)任務(wù)內(nèi)容要求及賓館相關(guān)情況等信息,百康賓館住宿管理系統(tǒng)需要實現(xiàn)查詢功能(包括客房總體使用情況查詢、已入住客房查詢、已預(yù)訂客房查詢、閑置房間信息查詢等查詢方式),訂房登記,入住登記,退房結(jié)算等四大基本功能。系統(tǒng)應(yīng)實現(xiàn)對各類信息的靈活查找,客戶信息的錄入、保存與調(diào)用,自動結(jié)算并生成賬單等操作。為了簡化前臺人員操作并提高其工作效率,還應(yīng)實現(xiàn)開始前初始化詢問,訂房或入住登記時自動顯示當前閑置房間,入住前詢問是否已預(yù)訂,輸入錯誤信息時進行提醒等人性化功能。由以上分析,將系統(tǒng)主要分為以下四大功能模
7、塊,如圖3.1所示:1) 客房查詢:包括查詢客房總體使用情況、查詢當前閑置房間信息、查詢已入住房間信息、查詢已預(yù)定房間信息等查詢功能;2) 訂房登記:包括顯示當前閑置房間信息、登記預(yù)定信息等功能;3) 入住登記:包括顯示當前房間總體使用情況、詢問是否預(yù)定過房間、登記入住人信息等功能;4) 退房結(jié)算:包括選擇結(jié)算方式、輸入結(jié)算時間、計算住宿費用等功能。百康賓館住宿管理系訂房登記入住登記客房查詢退房結(jié)算客房總體信息查詢已預(yù)訂房間信息查詢已入住房間信息查詢閑置房間信息查詢圖3.1功能模塊結(jié)構(gòu)圖3.2.2輸入項以下輸入項均為鍵盤輸入:num房間號 ,intkongxian房間是否空閑 ,int nam
8、e20名字定義, char name20 ID20身份證號(18位阿拉伯數(shù)字),char ID20lianxifangshi15聯(lián)系方式(11位阿拉伯數(shù)字),char lianxifangshi15yajin押金, int yudingriqi預(yù)定日期(日期均為8位阿拉伯數(shù)字,格式為年月日), long ruzhushijian入住日期 ,long tianshu預(yù)計天數(shù), int jiezhiriqi截止日期 ,long p是否初始化(0或1), intchose選擇主菜單(1,2,3,4或5), intt計費方式(1或2), inti子菜單選擇(1,2,3,4或5)(不同模塊可能定義不同)
9、, inta是否預(yù)定過房間(在ruzhudengji()定義的),int3.2.3輸出項房間號, int房間類型 ,char leixing10價格(元/天), int價格(元/小時) ,int是否空閑 ,int客人姓名,char name20身份證,char ID20聯(lián)系方式 ,charlianxifangshi15押金(元), int預(yù)定日期 ,long入住時間 ,long預(yù)計天數(shù), int截止日期, long四、系統(tǒng)實現(xiàn)與測試4.1主菜單模塊實現(xiàn)4.1.1主菜單流程圖圖4.1主菜單流程圖4.1.2主菜單代碼void Menu_Display()system(cls);couttt#end
10、l;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.ko
11、ngxian=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,套房)
12、;break;if(k=8)i0+,i2=0;if(k=14)i0+,i2=0;i2+;fstream xieru(賓館房間信息.txt,ios:out);xieru房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預(yù)定日期 入住時間 天數(shù) 截止日期 endl; for(int x=0;x20;x+) xieruhotelx.num hotelx.leixing hotelx.jiage hotelx.kongxian hotelx.ID hotelx.lianxifangshi hotelx.yajin hotelx.yudingriqi hotelx.r
13、uzhushijian 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:ruz
14、hudengji();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;w
15、hile(chose=0)cout輸入錯誤,按任意鍵退出程序:endl;exit(0);4.1.3主菜單模塊測試主菜單界面中顯示客房管理系統(tǒng)的功能選項模塊如圖4.2所示:圖4.2主菜單4.2入住登記模塊實現(xiàn)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(1
16、17,ios:beg);/在輸入文件開頭以參照位置為基礎(chǔ)移動若干字節(jié)(beg=begin)int i=0; /存放空閑房間的號碼 cout房間號 類型 價格(元/天) 價格(元/小時) 空閑 endl;while (hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihoteli.ruzhushijianhoteli.tianshuhoteli.jiezhiriqi;coutsetw(4)hoteli.nu
17、msetw(8)hoteli.leixingsetw(9)hoteli.jiage/100setw(14)hoteli.jiage%100setw(13)hoteli.kongxian; /輸出所有房間信息i+,coutendl;liulan.close(); /關(guān)閉文件cout(注:0表示空房間、1表示房間已入住、2表示房間已預(yù)訂)endl;cout是否預(yù)訂過房間?endl;cout是,請輸入1,否,請輸入2a;if(a=1)cout請輸入房間號:b;for(i=0;i20;i+)if(hoteli.num=b)if(hoteli.yudingriqi!=0)couthoteli.ruzhu
18、shijian;couthoteli.jiezhiriqi;hoteli.yudingriqi=0;elsecout該房沒有被預(yù)訂過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.lianxif
19、angshi;couthoteli.yajin;couthoteli.tianshu;couthoteli.ruzhushijian;hoteli.kongxian=2;ofstream xieru(賓館房間信息.txt,ios:out); /寫回文件xieru房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預(yù)定日期 入住時間 天數(shù) 截止日期 endl;for(i=0;i20;i+)xieruhoteli.num hoteli.leixing hoteli.jiage hoteli.kongxian hoteli.ID hoteli.lianxifangs
20、hi hoteli.yajin hoteli.yudingriqi hoteli.ruzhushijian hoteli.tianshu hoteli.jiezhiriqiendl; xieru.close();cout登記成功endl;4.2.3入住登記模塊測入住登記界面顯示了房間使用情況以及提示以前是否預(yù)訂過房間如圖4.4所示:圖4.4入住登記界面如果客人預(yù)定過房間,則選擇“1”,然后輸入預(yù)訂房間號如圖4.5所示。輸入入住日期和截止日期則“登記成功”如圖4.6所示。圖4.5選擇訂過房間入住登記界面圖4.6訂過房間入住登記界面未預(yù)訂過房間則選擇“2” 則會顯示出目前的空房間信息如圖4.7所示
21、,根據(jù)系統(tǒng)提示輸入客人的信息則“登記成功”如圖4.8所示。圖4.7選擇未訂過房間入住登記界面圖4.8選擇未訂過房間入住登記輸入信息界面4.3退房結(jié)算模塊實現(xiàn)4.3.1退房結(jié)算流程圖 圖4.9 退房結(jié)算流程圖4.3.2退房結(jié)算代碼void tuifang() int a,b;ifstream fin(賓館房間信息.txt,ios:in);couta;int c=0,i=0;fin.seekg(117,ios:beg);/在輸入文件開頭以參照位置為基礎(chǔ)移動若干字節(jié)(beg=begin)while(ihoteli.numhoteli.leixinghoteli.jiagehoteli.kongxia
22、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(注:日期輸入格式 年月日 例如
23、20120101 )endl;coutd;hotelb.jiezhiriqi=d;int fei;coutt;if(t=2)fei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage/100); /結(jié)算函數(shù),押金(結(jié)算時間-入住時間)*價格elsefei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage%100); /按小時計算if(fei0)fei=-fei;cout應(yīng)付費用為:fei元endl;elsecout總消費金額為:h
24、otelb.yajin-fei元endl;cout押金足夠 應(yīng)返還給您:fei元endl;fstream jsxx(結(jié)算信息.txt,ios:out); jsxx消費信息為:endl;jsxx姓名:endl押金(元):hotelb.yajinendl入住時間:hotelb.ruzhushijianendl結(jié)算時間:dendl; if(t=2)jsxx計費方式:按天數(shù)計費endl;elsejsxx計費方式:按小時計費endl; jsxx總消費金額為:hotelb.yajin-fei元endl;jsxx押金足夠 應(yīng)返還給您:fei元endl;jsxx.close();hote
25、lb.kongxian=0; /房間結(jié)算后初始化房間信息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)系方式 押金 預(yù)定日期 入住時間
26、天數(shù) 截止日期 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退房結(jié)算模塊測試選擇退房功能輸入房間號則會顯示出客人的基本信息如圖4.10所示;根據(jù)系統(tǒng)提示輸
27、入結(jié)算日期并選擇結(jié)算方式則“結(jié)算結(jié)束”如圖4.11和圖4.12所示。賬單信息存入到磁盤文件當中去,如圖4.13所示。圖4.10退房結(jié)算輸入結(jié)算房間號后界面圖圖4.11退房結(jié)算輸入日期界面圖4.12退房結(jié)算完成界面圖4.13退房結(jié)算信息文件五、附錄:程序代碼#include#include /輸出流控制#include#include /輸入輸出文件流using namespace std;void search_message();void dingfangdengji();void ruzhudengji();void tuifang();void all_message();void em
28、pty_message();void ruzhixinxi();void dingfangxinxi();struct hotel /定義結(jié)構(gòu)體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# 歡迎使用百康賓館
29、管理系統(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(ho
30、telk.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+,
31、i2=0;if(k=14)i0+,i2=0;i2+;fstream xieru(賓館房間信息.txt,ios:out);xieru房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預(yù)定日期 入住時間 天數(shù) 截止日期 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
32、.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;
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新科技在實驗室設(shè)備維護中的應(yīng)用
- 從醫(yī)療到教育跨學(xué)科心理輔導(dǎo)的挑戰(zhàn)與機遇
- 企業(yè)財務(wù)報告中的風險控制要點
- 農(nóng)產(chǎn)品精準營銷的推廣方法
- 興趣驅(qū)動的學(xué)習心態(tài)在科技創(chuàng)新中的應(yīng)用
- 保險行業(yè)中的企業(yè)客戶對公業(yè)務(wù)定位研究
- 項目可行性研究報告6篇
- 親子關(guān)系在商業(yè)環(huán)境中的價值
- 農(nóng)業(yè)科技與商業(yè)合作的雙贏策略
- 教科版二年級上冊科學(xué)期末測試卷附參考答案(綜合卷)
- 社會實踐-形考任務(wù)四-國開(CQ)-參考資料
- 《第02課 抗美援朝》教學(xué)設(shè)計(附學(xué)案)
- 2024年貴州貴安發(fā)展集團有限公司招聘筆試參考題庫附帶答案詳解
- 【110kV變電站電氣一次部分設(shè)計探究5800字(論文)】
- 線上房展會活動方案
- PCB制造成本參數(shù)
- 操作系統(tǒng)智慧樹知到期末考試答案2024年
- 《跨境供應(yīng)鏈管理》教學(xué)大綱(含課程思政)
- 高三英語二輪復(fù)習寫作專項讀后續(xù)寫人物情緒描寫方法課件
- 殯儀館物業(yè)服務(wù)方案
- 2023-2024學(xué)年四川省成都市錦江區(qū)七年級(上)期末數(shù)學(xué)試卷(含解析)
評論
0/150
提交評論