C++酒店管理系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
C++酒店管理系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
C++酒店管理系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
C++酒店管理系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
C++酒店管理系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余43頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、南京航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)II課程設(shè)計(jì)指導(dǎo)書(shū)題目:賓館管理系統(tǒng)學(xué)院:計(jì)算機(jī)科學(xué)與工程學(xué)院專業(yè):軟件工程班級(jí):133301學(xué)號(hào):201335032013349020133482姓名:王帥劉俊甘雨指導(dǎo)老師:韓旭明設(shè)計(jì)日期:2015624-2015.6.30一、課程設(shè)計(jì)的目的1) 學(xué)習(xí)綜合運(yùn)用C高級(jí)語(yǔ)言課程和其他先修課程的知識(shí), 提高分析和解決實(shí)際問(wèn)題 的的能力,進(jìn)一步鞏固、加深和拓寬所學(xué)的知識(shí);進(jìn)一步加強(qiáng)結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深 對(duì)高級(jí)語(yǔ)言基本語(yǔ)言要素和控制結(jié)構(gòu)的理解。2) 全面系統(tǒng)的學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念、基本語(yǔ)法和編程方法;獨(dú)立完成有一定工作量的程序設(shè)計(jì)任務(wù),同時(shí)強(qiáng)調(diào)好的程序設(shè)

2、計(jì)風(fēng)格。3) 掌握程序設(shè)計(jì)中的常用算法和 C語(yǔ)言的編程技巧和上機(jī)調(diào)試程序的方法。4) 在參與一系列子項(xiàng)目的實(shí)踐過(guò)程中,提高如何綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題的 能力,以及獲得相關(guān)項(xiàng)目管理和團(tuán)隊(duì)合作等眾多方面的具體經(jīng)驗(yàn)。二、課程設(shè)計(jì)的任務(wù)按照如下要求,運(yùn)用C+郵言,編寫(xiě)一套可用的較為完善的賓館住宿管理系統(tǒng)軟件(兩人 分模塊合作)1) 對(duì)賓館基本信息【房間數(shù)量、房間類別(標(biāo)間、單間、套房) 、收費(fèi)標(biāo)準(zhǔn)等】在 適當(dāng)范圍內(nèi)自行規(guī)定。2) 能夠?qū)崿F(xiàn)預(yù)定登記、入住登記、退房結(jié)算等功能;房間狀態(tài)(空房、入住、預(yù)定) 能夠以一定方式直觀地表現(xiàn)。3) 能夠錄入住宿人員信息、計(jì)算客戶消費(fèi)總額并生成賬單,賬單信息存入

3、到磁盤(pán)文 件當(dāng)中去。4) 能夠相對(duì)靈活地查詢房間狀態(tài)、入住情況、空房情況、預(yù)訂情況等內(nèi)容。5) 能夠產(chǎn)生各類報(bào)表,如房間信息、入住信息、消費(fèi)表單等在磁盤(pán)文件當(dāng)中可以查 看它們的信息。系統(tǒng)設(shè)計(jì)方案3.1 系統(tǒng)詳細(xì)描述3.1.1 系統(tǒng)設(shè)計(jì)背景隨著人民生活水平的提高,旅游出行的人越來(lái)越多,賓館的客流量不斷增加,普通的手寫(xiě) 登記太過(guò)復(fù)雜經(jīng)常出現(xiàn)信息丟失, 也不適合現(xiàn)在的節(jié)約型社會(huì)的發(fā)展,賓館在正常運(yùn)營(yíng)中需要對(duì)客房資源、顧客信息、退房信息等進(jìn)行管理,利用客房管理系統(tǒng)及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更, 有利于提高管理的效率。本項(xiàng)目作為 C+課程設(shè)計(jì)的訓(xùn)練項(xiàng)目提出,目的是為了提高同學(xué)們系統(tǒng) 的開(kāi)發(fā),則提高大家的

4、實(shí)踐能力。所以開(kāi)發(fā)一個(gè)符合自身賓館實(shí)際情況的工作平臺(tái)是十分必要的。3.1.2 系統(tǒng)設(shè)計(jì)詳細(xì)信息系統(tǒng)使用對(duì)象設(shè)定為百康賓館。百康酒店是一家鄉(xiāng)鎮(zhèn)中小型賓館,三層建筑,擁有各類房間共20間。其中一層均為單人問(wèn),共9間,房號(hào)101-109 ;二層為均雙人間,共6間,房號(hào)201-206 ;三層均為豪華套房,共5間,房號(hào)301-305。各類房間均設(shè)有電視、櫥柜、內(nèi)網(wǎng)電話、風(fēng)扇、暖氣等基礎(chǔ)設(shè)施,24小時(shí)熱水供應(yīng),可淋浴。一層前臺(tái)處設(shè)有便捷商店,當(dāng)時(shí)結(jié)算,不計(jì)入住宿賬單??赏ㄟ^(guò)內(nèi)網(wǎng)電話購(gòu)買(mǎi),免費(fèi)送至 房間。A、收費(fèi)標(biāo)準(zhǔn):有按天計(jì)費(fèi)和按小時(shí)計(jì)費(fèi)兩種收費(fèi)標(biāo)準(zhǔn)。按天計(jì)費(fèi),標(biāo)準(zhǔn)為單人間170元/天,雙人間280元/天

5、,豪華套房500元/天。按小時(shí)計(jì)費(fèi),標(biāo)準(zhǔn)為單人間20元/小時(shí),雙人間30元/小時(shí),豪華套房50元/小時(shí)。B、計(jì)時(shí)標(biāo)準(zhǔn):按天計(jì)費(fèi)時(shí),從 0時(shí)至次日0時(shí)計(jì)一天,不滿一天按一天計(jì)算;按小時(shí)計(jì) 費(fèi)時(shí),不滿一小時(shí)按一小時(shí)計(jì)費(fèi)。(特殊情形的優(yōu)惠政策不在本設(shè)計(jì)考慮范圍之內(nèi))G定金標(biāo)準(zhǔn):入住定金按(預(yù)計(jì)入住時(shí)間 *其單日房費(fèi)+500元)收取,退房時(shí)充作房費(fèi) 和房屋設(shè)施折損費(fèi)(抵償損壞的房?jī)?nèi)設(shè)施),多退少補(bǔ)。預(yù)定定金(按預(yù)計(jì)訂房時(shí)間*對(duì)應(yīng)房間按 天計(jì)算住宿價(jià)格*40%)收取,若到時(shí)不入住且不續(xù)訂,則不再退還;若到時(shí)入住,充作入住定金, 多退少補(bǔ)。電話預(yù)定無(wú)需繳納定金,但不確保屆時(shí)有空房問(wèn)。注:定金數(shù)額可在以上標(biāo)

6、準(zhǔn)數(shù)額之上,退房結(jié)算時(shí)多退少補(bǔ)。退房時(shí),室內(nèi)設(shè)施經(jīng)確認(rèn)無(wú)損壞情況,則不收取房屋設(shè)施折損費(fèi)。3.2 功能模塊劃分3.2.1 功能模塊描述根據(jù)任務(wù)內(nèi)容要求及賓館相關(guān)情況等信息,百康賓館住宿管理系統(tǒng)需要實(shí)現(xiàn)查詢功能(包 括客房總體使用情況查詢、已入住客房查詢、已預(yù)訂客房查詢、閑置房間信息查詢等查詢方式),訂房登記,入住登記,退房結(jié)算等四大基本功能。系統(tǒng)應(yīng)實(shí)現(xiàn)對(duì)各類信息的靈活查找,客戶信息 的錄入、保存與調(diào)用,自動(dòng)結(jié)算并生成賬單等操作。為了簡(jiǎn)化前臺(tái)人員操作并提高其工作效率, 還應(yīng)實(shí)現(xiàn)開(kāi)始前初始化詢問(wèn),訂房或入住登記 時(shí)自動(dòng)顯示當(dāng)前閑置房間,入住前詢問(wèn)是否已預(yù)訂,輸入錯(cuò)誤信息時(shí)進(jìn)行提醒等人性化功能。由以

7、上分析,將系統(tǒng)主要分為以下四大功能模塊,如圖 3.1所示:1) 客房查詢:包括查詢客房總體使用情況、查詢當(dāng)前閑置房間信息、查詢已入住房 問(wèn)信息、查詢已預(yù)定房間信息等查詢功能;2) 訂房登記:包括顯示當(dāng)前閑置房間信息、登記預(yù)定信息等功能;3) 入住登記:包括顯示當(dāng)前房間總體使用情況、詢問(wèn)是否預(yù)定過(guò)房間、登記入住人 信息等功能;4) 退房結(jié)算:包括選擇結(jié)算方式、輸入結(jié)算時(shí)間、計(jì)算住宿費(fèi)用等功能。3.2.2輸入項(xiàng)以下輸入項(xiàng)均為鍵盤(pán)輸入:num房間號(hào),intkongxian房間是否空閑,intname20名字定義,charname20ID20 身份證號(hào)(18位阿拉伯?dāng)?shù)字),charID20lianxi

8、fangshi15聯(lián)系方式(11 位阿拉伯?dāng)?shù)字),charlianxifangshi15yajin押金,intyudingriqi預(yù)定日期(日期均為8位阿拉伯?dāng)?shù)字,格式為年月日),longruzhushijian入住 日期,longtianshu預(yù)計(jì)天數(shù),intjiezhiriqi截止 日期,longp是否初始化(0或1), intchose選擇主菜單(1,2,3,4 或 5), intt 計(jì)費(fèi)方式(1或2), inti 子菜單選擇(1,2,3,4或5)(不同模塊可能定義不同),inta是否預(yù)定過(guò)房間(在 ruzhudengji() 定義的),int3.2.3輸出項(xiàng)房問(wèn)號(hào),int房間類型,ch

9、arleixing10價(jià)格(元/天),int價(jià)格(元/小時(shí)),int是否空閑,int客人姓名,charname20身份證,charID20聯(lián)系方式,charlianxifangshi15押金(元),int預(yù)定日期,long入住時(shí)間,long預(yù)計(jì)天數(shù),int截止日期,long四、系統(tǒng)實(shí)現(xiàn)與測(cè)試4.1 主菜單模塊實(shí)現(xiàn)4.1.1 主菜單流程圖圖4.1主菜單流程圖4.1.2 主菜單代碼voidMenu_Display()system(cls);couttt#endl;couttt# 歡迎使用百康賓館管理系統(tǒng)#endl;couttt#請(qǐng)輸入您所需要的功能:#endl;couttt#1.客房查詢 2.訂房

10、登記 #endl;couttt#3.入住登記 4.退房#endl;couttt#5.退出 #endl;couttt#感* ft* 您* 的* 使* 用#6門(mén)1;couttt#endl;voidchushihua()inti3=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;hotel

11、k.tianshu=0;hotelk.yudingriqi=0;switch(i0)單人問(wèn));break;雙人問(wèn));break;套房);break;case1:hotelk.jiage=17020;strcpy(hotelk.leixing,”case2:hotelk.jiage=28030;strcpy(hotelk.leixing,”case3:hotelk.jiage=50050;strcpy(hotelk.leixing,”if(k=8)i0+,i2=0;if(k=14)i0+,i2=0;i2+;fstreamxieru(賓館房間信息.txt,ios:out);xieru房間號(hào)類型價(jià)格

12、是否空閑姓名身份證號(hào)聯(lián)系方式押金預(yù)定日期入住時(shí)間天數(shù)截 止日期endl;for(intx=0;x20;x+)(hotelx.IDhotelx.lianxifangshihotelx.yajinhotelx .yudingriqi“hotelx.ruzhushijianhotelx.tianshuhotelx.jiezhiriqiendl;xieru.close();voidmain()(intp=0;cout是否要初始化房間信息?;cout(是請(qǐng)輸入1,否請(qǐng)輸入

13、0)p;if(p=1)chushihua();intchose;Menu_Display();coutchose;while(chose!=0)switch(chose)/ 用switch語(yǔ)句判斷選擇菜單的功能case1:search_message();break;/客房查詢case2:dingfangdengji();break;/訂房問(wèn)case3:ruzhudengji();break;/入住房問(wèn)case4:tuifang();break;/ 退房case5:exit(0);default:cout輸入錯(cuò)誤,請(qǐng)重新輸入endl;/提示錯(cuò)誤命令couttt#endl;couttt# 歡迎使

14、用百康賓館管理系統(tǒng)#endl;couttt#請(qǐng)輸入您所需要的功能:#endl;couttt#1.客房查詢 2.訂房登記 #endl;couttt#3.入住登記 4.退房#endl;couttt#5.退出 #endl;couttt#感* ft* 您* 的* 使* 用#6門(mén)1;couttt#endl;coutchose;while(chose=0)cout輸入錯(cuò)誤,按任意鍵退出程序:endl;exit(0);4.1.3 主菜單模塊測(cè)試主菜單界面中顯示客房管理系統(tǒng)的功能選項(xiàng)模塊如圖4.2所示:圖4.2主菜單4.2 入住登記模塊實(shí)現(xiàn)4.2.1 入住登記流程圖圖4.3入住登記流程圖4.2.2 入住登記代

15、碼voidruzhudengji()inta,b=0;stringname;ifstreamliulan( 賓館房間信息.txt,ios:in);/定義輸入文件流對(duì)象,以輸入方式打開(kāi)磁盤(pán)文件旅信if(!liulan)判斷文件是否打開(kāi)成功cerr文件不能讀.endl;return;elseliulan.seekg(117,ios:beg);/在輸入文件開(kāi)頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié)(beg=begin)inti=0;/ 存放空閑房間的號(hào)碼cout房間號(hào)類型價(jià)格(元/天)價(jià)格(元/小時(shí))空閑endl;while(ihoteli.numhoteli.leixinghoteli.jiagehotel

16、i.kongxianhote hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihot eli.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();/ 關(guān)閉文件cout(注:0表示空

17、房間、1表示房間已入住、2表示房間已預(yù)訂)endl;cout是否預(yù)訂過(guò)房間? endl;cout是,請(qǐng)輸入1,否,請(qǐng)輸入2a;if(a=1)cout請(qǐng)輸入房問(wèn)號(hào):b;for(i=0;i20;i+)if(hoteli.num=b)if(hoteli.yudingriqi!=0)couthoteli.ruzhushijian;couthoteli.jiezhiriqi;hoteli.yudingriqi=0;elsecout該房沒(méi)有被預(yù)訂過(guò)endl;system(pause);)else(cout空房間有:endl;for(intk=0;k20;k+)(if(hotelk.kongxian=0)c

18、outhotelk.num;)coutendl;coutb;for(i=0;i20;i+)if(hoteli.num=b)(cout請(qǐng)依次輸入以下信息并加以核對(duì)(日期格式:年月 日例如 19920503)endl;;couthoteli.ID;couthoteli.lianxifangshi;couthoteli.yajin;couthoteli.tianshu;couthoteli.ruzhushijian;hoteli.kongxian=2;ofstreamxieru(賓館房間信息.txt,ios:out);寫(xiě)回文件xieru房間號(hào)類型價(jià)格是否空閑姓名身份證號(hào)

19、聯(lián)系方式押金預(yù)定日期入住時(shí)間天數(shù)截 止日期endl;for(i=0;i20;i+)xieruhoteli.num”hoteli.leixing”hoteli.jiage”hoteli.kon gxian“”hoteli.IDhoteli.lianxifangshi”hoteli.yajin”hoteli .yudingriqi“hoteli.ruzhushijianhoteli.tianshuhoteli.jiezhiriqiendl;xieru.close();cout登記成功endl;4.2.3入住登記模塊測(cè)入住登記界面顯示了房間使用情況以及提示以前是否預(yù)訂過(guò)房間如圖

20、4.4所示:圖4.4入住登記界面如果客人預(yù)定過(guò)房間,則選擇“ 1”,然后輸入預(yù)訂房問(wèn)號(hào)如圖4.5所示。輸入入住日期和 截止日期則“登記成功”如圖 4.6所示。圖4.5選擇訂過(guò)房間入住登記界面圖4.6訂過(guò)房間入住登記界面未預(yù)訂過(guò)房間則選擇“ 2”則會(huì)顯示出目前的空房間信息如圖4.7所示,根據(jù)系統(tǒng)提示輸入客人的信息則“登記成功”如圖 4.8所示。圖4.7選擇未訂過(guò)房間入住登記界面圖4.8選擇未訂過(guò)房間入住登記輸入信息界面4.3 退房結(jié)算模塊實(shí)現(xiàn)4.3.1 退房結(jié)算流程圖圖4.9退房結(jié)算流程圖4.3.2 退房結(jié)算代碼voidtuifang()inta,b;ifstreamfin( 賓館房間信息.tx

21、t,ios:in);couta;intc=0,i=0;fin.seekg(117,ios:beg); 在輸入文件開(kāi)頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié)(beg=begin)while(hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihoteli.ruzhushijianhoteli.tianshuhoteli.jiezhiriqi;if(hoteli.num=a)/ 查詢客人房間b=i;i+;fin.clos

22、e();cout房間信息為:endl;cout姓名:押金(元):入住時(shí)間:endl;coutsetw(6)setw(8)hotelb.yajinsetw(20)hotelb.ru zhushijianendl;cout(注:日期輸入格式年月日例如 20120101)endl;coutd;hotelb.jiezhiriqi=d;intfei;coutt;if(t=2)fei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage/100);結(jié)算函數(shù),押金一(結(jié)算時(shí)間-入住時(shí)間)*價(jià)格elsefei

23、=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage%100);/按小時(shí)計(jì)算if(fei0)fei=-fei;cout”應(yīng)付費(fèi)用為:fei 元endl;elsecout總消費(fèi)金額為:hotelb.yajin-fei元endl;cout押金足夠應(yīng)返還給您:fei元endl;fstreamjsxx( 結(jié)算信息.txt,ios:out);jsxx消費(fèi)信息為:endl;jsxx姓名:endl押金(元):hotelb.yajinendl 入住時(shí)間:hotelb.ruzhushijianendl 結(jié)算時(shí)

24、間:dendl;if(t=2)jsxx計(jì)費(fèi)方式:按天數(shù)計(jì)費(fèi)endl;elsejsxx計(jì)費(fèi)方式:按小時(shí)計(jì)費(fèi)endl;jsxx總消費(fèi)金額為:hotelb.yajin-fei 元endl;jsxx押金足夠應(yīng)返還給您:fei元endl;jsxx.close();hotelb.kongxian=0;/房間結(jié)算后初始化房間信息strcpy(,0);strcpy(hotelb.ID,0);strcpy(hotelb.lianxifangshi,0);hotelb.yudingriqi=0;hotelb.ruzhushijian=0;hotelb.jiezhiriqi=0;hotelb.

25、yajin=0;hotelb.tianshu=0;hotelb.jiezhiriqi=0;fstreamxieru( 賓館房間信息.txt,ios:out); 生成文件xieru房間號(hào)類型價(jià)格是否空閑姓名身份證號(hào)聯(lián)系方式押金預(yù)定日期入住時(shí)間天數(shù)截 止日期endl;for(i=0;i20;i+)xieruhoteli.num”hoteli.leixing”hoteli.jiage”hoteli.kon gxian“”hoteli.IDhoteli.lianxifangshi”hoteli.yajin”hoteli .yudingriqi“hoteli.ruzhushijia

26、n”hoteli.tianshu”hoteli.jiezhiriqiendl;xieru.close();system(pause);4.3.3 退房結(jié)算模塊測(cè)試選擇退房功能輸入房問(wèn)號(hào)則會(huì)顯示出客人的基本信息如圖4.10所示;根據(jù)系統(tǒng)提示輸入結(jié)算日期并選擇結(jié)算方式則“結(jié)算結(jié)束” 如圖4.11和圖4.12所示。賬單信息存入到磁盤(pán)文件當(dāng) 中去,如圖4.13所示。圖4.10退房結(jié)算輸入結(jié)算房問(wèn)號(hào)后界面圖圖4.11退房結(jié)算輸入日期界面圖4.12退房結(jié)算完成界面圖4.13退房結(jié)算信息文件五、附錄:程序代碼#include#include輸出流控制#include#include輸入輸出文件流usingn

27、amespacestd;voidsearch_message();voiddingfangdengji();voidruzhudengji();voidtuifang();voidall_message();voidempty_message();voidruzhixinxi();voiddingfangxinxi();structhotel定義結(jié)構(gòu)體intnum;charleixing10;intjiage;intkongxian;charname20;charID20;charlianxifangshi15;intyajin;longyudingriqi;longruzhushijian;

28、inttianshu;longjiezhiriqi;hotel20;voidMenu_Display()system(cls);couttt#endl;couttt#歡迎使用百康賓館管理系統(tǒng)#endl;couttt#請(qǐng)輸入您所需要的功能:#endl;couttt#1.客房查詢 2.訂房登記 #endl;couttt#3.入住登記 4.退房#endl;couttt#5.退出 #endl;couttt#感* ft* 您* 的* 使* 用#6門(mén)1;couttt#endl;voidchushihua()inti3=1,0,1,k=0;for(;k20;k+)hotelk.num=i0*100+i1*1

29、0+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)case1:hotelk.jiage=17020;strcpy(hotelk.leixing,單人間);break;case2:hotelk.jiage=28030;strcpy(hotelk.leixing,雙人間);break

30、;case3:hotelk.jiage=50050;strcpy(hotelk.leixing,套房)break;if(k=8)i0+,i2=0;if(k=14)i0+,i2=0;i2+;fstreamxieru(賓館房間信息.txt,ios:out);xieru房間號(hào)類型價(jià)格是否空閑姓名身份證號(hào)聯(lián)系方式押金預(yù)定日期入住時(shí)間天數(shù)截 止日期endl;for(intx=0;x20;x+)(xieruhotelx.numhotelx.leixinghotelx.jiagehotelx.k hotelx.IDhotelx.lianxifangshihotelx.ya

31、jinhotelx .yudingriqi“hotelx.ruzhushijianhotelx.tianshuhotelx.jiezhiriqiendl;xieru.close();voidmain()(intp=0;cout是否要初始化房間信息?;cout(是請(qǐng)輸入1,否請(qǐng)輸入0)p;if(p=1)chushihua();intchose;Menu_Display();coutchose;while(chose!=0)switch(chose)/ 用switch語(yǔ)句判斷選擇菜單的功能case1:search_message();break;/客房查詢case2:dingfangdengji(

32、);break;/訂房問(wèn)case3:ruzhudengji();break;/ 入住房問(wèn)case4:tuifang();break;/ 退房case5:exit(0);default:cout輸入錯(cuò)誤,請(qǐng)重新輸入endl;/提示錯(cuò)誤命令couttt#endl;couttt# 歡迎使用百康賓館管理系統(tǒng)#endl;couttt#請(qǐng)輸入您所需要的功能:#endl;couttt#1.客房查詢 2.訂房登記 #endl;couttt#3.入住登記 4.退房#endl;couttt#5.退出 #endl;couttt#感* ft* 您* 的* 使* 用#6門(mén)1;couttt#endl;coutchose;

33、while(chose=0)cout輸入錯(cuò)誤,按任意鍵退出程序:endl;exit(0);voidruzhudengji()inta,b=0;stringname;ifstreamliulan( 賓館房間信息.txt,ios:in);/定義輸入文件流對(duì)象,以輸入方式打開(kāi)磁盤(pán)文件旅信if(!liulan)判斷文件是否打開(kāi)成功cerr文件不能讀.endl;return;elseliulan.seekg(117,ios:beg);/在輸入文件開(kāi)頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié)(beg=begin)inti=0;/存放空閑房間的號(hào)碼cout房間號(hào)類型價(jià)格(元/天)價(jià)格(元/小時(shí))空閑endl;while

34、(ihoteli.numhoteli.leixinghoteli.jiagehoteli.kongxianhote hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihot eli.ruzhushijianhoteli.tianshuhoteli.jiezhiriqi;coutsetw(4)hoteli.numsetw(8)hoteli.leixingsetw(9)hoteli.jiage /100setw(14)hoteli.jiage%100setw(13)hoteli.kongxian;/ 輸出所有房間信息i

35、+,coutendl;)liulan.close();/ 關(guān)閉文件cout(注:0表示空房間、1表示房間已入住、2表示房間已預(yù)訂)endl;cout是否預(yù)訂過(guò)房間? endl;cout是,請(qǐng)輸入1,否,請(qǐng)輸入2a;if(a=1)cout請(qǐng)輸入房問(wèn)號(hào):b;for(i=0;i20;i+)if(hoteli.num=b)if(hoteli.yudingriqi!=0)couthoteli.ruzhushijian;couthoteli.jiezhiriqi;hoteli.yudingriqi=0;elseendl;cout該房沒(méi)有被預(yù)訂過(guò)system(pause);elsecout”空房間有:end

36、l;for(intk=0;k20;k+)if(hotelk.kongxian=0)couthotelk.num”;coutendl;coutb;for(i=0;i20;i+)if(hoteli.num=b)cout”請(qǐng)依次輸入以下信息并加以核對(duì)(日期格式:年月 日例如 19920503)endl;;couthoteli.ID;couthoteli.lianxifangshi;couthoteli.yajin;couthoteli.tianshu;couthoteli.ruzhushijian;hoteli.kongxian=2;)ofstreamxieru(賓館房

37、間信息.txt,ios:out); 寫(xiě)回文件xieru房間號(hào)類型價(jià)格是否空閑姓名身份證號(hào)聯(lián)系方式押金預(yù)定日期入住時(shí)間天數(shù)截 止日期endl;for(i=0;i20;i+)xieruhoteli.num”hoteli.leixing”hoteli.jiage”hoteli.kon ”hoteli.IDhoteli.lianxifangshi”hoteli.yajin”hoteli .yudingriqi“hoteli.ruzhushijianhoteli.tianshuhoteli.jiezhiriqiendl;xieru.close();cout登記成功endl

38、;)voidtuifang()inta,b;ifstreamfin( 賓館房間信息.txt,ios:in);couta;intc=0,i=0;fin.seekg(117,ios:beg); 在輸入文件開(kāi)頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié) (beg=begin)while(ihoteli.numhoteli.leixinghoteli.jiagehoteli.kongxianhoteli .namehoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihot eli.ruzhushijianhoteli.tianshuhoteli.jie

39、zhiriqi;if(hoteli.num=a)/查詢客人房間b=i;i+;fin.close();cout房間信息為:endl;cout姓名:押金(元):入住時(shí)間:endl;coutsetw(6)setw(8)hotelb.yajinsetw(20)hotelb.ru zhushijianendl;cout(注:日期輸入格式年月日例如 20120101)endl;coutd;hotelb.jiezhiriqi=d;intfei;coutt;if(t=2)fei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(h

40、otelb.jiage/100);/ 結(jié)算函數(shù),押金一(結(jié)算時(shí)間-入住時(shí)間)*價(jià)格elsefei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage%100);/按小時(shí)計(jì)算if(fei0)(fei=-fei;cout應(yīng)付費(fèi)用為:fei 元endl;) else(cout總消費(fèi)金額為:hotelb.yajin-fei 元endl;cout押金足夠應(yīng)返還給您:fei元endl;)fstreamjsxx(結(jié)算信息.txt,ios:out);jsxx消費(fèi)信息為:endl;jsxx姓名:endl押金(

41、元):hotelb.yajinendl 入住時(shí)間:hotelb.ruzhushijianendl結(jié)算時(shí)間:dendl;if(t=2)jsxx計(jì)費(fèi)方式:按天數(shù)計(jì)費(fèi)endl;elsejsxx計(jì)費(fèi)方式:按小時(shí)計(jì)費(fèi)endl;jsxx總消費(fèi)金額為:hotelb.yajin-fei 元endl;jsxx押金足夠應(yīng)返還給您:fei元endl;jsxx.close();hotelb.kongxian=0;/房間結(jié)算后初始化房間信息strcpy(,0);strcpy(hotelb.ID,0);strcpy(hotelb.lianxifangshi,0);hotelb.yudingriqi=

42、0;hotelb.ruzhushijian=0;hotelb.jiezhiriqi=0;hotelb.yajin=0;hotelb.tianshu=0;hotelb.jiezhiriqi=0;fstreamxieru(賓館房間信息.txt,ios:out); 生成文件xieru房間號(hào)類型價(jià)格是否空閑姓名身份證號(hào)聯(lián)系方式押金預(yù)定日期入住時(shí)間天數(shù)截 止日期endl;for(i=0;i20;i+)xieruhoteli.num”hoteli.leixing”hoteli.jiage”hoteli.kon gxian“”hoteli.IDhoteli.lianxifangshi”

43、hoteli.yajin”hoteli .yudingriqi“hoteli.ruzhushijian”hoteli.tianshu”hoteli.jiezhiriqiendl;xieru.close();system(pause);voidsearch_message()/ 對(duì)房間信息進(jìn)行查詢的函數(shù)voidall_message();voidempty_message();voidruzhuxinxi();voiddingfangxinxi();couttt%”eicouttt%歡迎使用百康賓館管理系統(tǒng)%endl;couttt%請(qǐng)輸入您要選擇的功能”endl;couttt%1. 房間應(yīng)用情況

44、2.空房間信息endl;couttt%3.入住彳9息 4.訂房信息 endl;couttt%5 返回主菜單 endl;couttt%感* ft* 您* 的* 使* 用”6門(mén)1;couttt%”eiinti;couti;while(i!=5)switch(i)/ 用switch語(yǔ)句判斷選擇查詢的方法case1:all_message();break;case2:empty_message();break;case3:ruzhuxinxi();break;case4:dingfangxinxi();break;default:cout輸入錯(cuò)誤,請(qǐng)重新輸入endl;/提示錯(cuò)誤命令couttt%couttt%歡迎使用百康賓館管理系統(tǒng)%endl;couttt%請(qǐng)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論