c賓館住宿管理系統(tǒng)課程設(shè)計(jì)_第1頁
c賓館住宿管理系統(tǒng)課程設(shè)計(jì)_第2頁
c賓館住宿管理系統(tǒng)課程設(shè)計(jì)_第3頁
c賓館住宿管理系統(tǒng)課程設(shè)計(jì)_第4頁
c賓館住宿管理系統(tǒng)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計(jì)的目的1)學(xué)習(xí)綜合運(yùn)用C高級語言課程和其他先修課程的知識(shí), 提高分析和解決實(shí)際問題 的的能力,進(jìn)一步鞏固、加深和拓寬所學(xué)的知識(shí);進(jìn)一步加強(qiáng)結(jié)構(gòu)化程序設(shè)計(jì)的 思想,加深對高級語言基本語言要素和控制結(jié)構(gòu)的理解。2)全面系統(tǒng)的學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念、基本語法和編程方法;獨(dú)立完成 有一定工作量的程序設(shè)計(jì)任務(wù),同時(shí)強(qiáng)調(diào)好的程序設(shè)計(jì)風(fēng)格。3)掌握程序設(shè)計(jì)中的常用算法和 C語言的編程技巧和上機(jī)調(diào)試程序的方法。4)在參與一系列子項(xiàng)目的實(shí)踐過程中, 提高如何綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的 能力,以及獲得相關(guān)項(xiàng)目管理和團(tuán)隊(duì)合作等眾多方面的具體經(jīng)驗(yàn)。:、課程設(shè)計(jì)的任務(wù)按照如下要求,運(yùn)用C+郵言,編寫

2、一套可用的較為完善的賓館住宿管理系統(tǒng)軟件(兩人分模塊合作)1)對賓館基本信息【房間數(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)總額并生成賬單,賬單信息存入到磁盤文 件當(dāng)中去。4)能夠相對靈活地查詢房間狀態(tài)、入住情況、空房情況、預(yù)訂情況等內(nèi)容。5)能夠產(chǎn)生各類報(bào)表,如房間信息、入住信息、消費(fèi)表單等在磁盤文件當(dāng)中可以查看它們的信息。3、系統(tǒng)設(shè)計(jì)方案3.1 系統(tǒng)詳細(xì)描述3.1.1 系統(tǒng)設(shè)計(jì)背景隨著人民生活水平的提高,旅游出行的人越

3、來越多,賓館的客流量不斷增加,普 通的手寫登記太過復(fù)雜經(jīng)常出現(xiàn)信息丟失, 也不適合現(xiàn)在的節(jié)約型社會(huì)的發(fā)展, 賓館 在正常運(yùn)營中需要對客房資源、顧客信息、退房信息等進(jìn)行管理,利用客房管理系統(tǒng) 及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,有利于提高管理的效率。本項(xiàng)目作為C+課程設(shè)計(jì)的訓(xùn)練項(xiàng)目提出,目的是為了提高同學(xué)們系統(tǒng)的開發(fā), 則提高大家的實(shí)踐能力。所 以開發(fā)一個(gè)符合自身賓館實(shí)際情況的工作平臺(tái)是十分必要的。3.1.2 系統(tǒng)設(shè)計(jì)詳細(xì)信息系統(tǒng)使用對象設(shè)定為百康賓館。百康賓館是一家鄉(xiāng)鎮(zhèn)中小型賓館,三層建筑,擁 有各類房間共20間。其中一層均為單人問,共 9間,房號101-109;二層為均雙人 問,共6間,房號201

4、-206;三層均為豪華套房,共5間,房號301-305。各類房間均設(shè)有電視、櫥柜、內(nèi)網(wǎng)電話、風(fēng)扇、暖氣等基礎(chǔ)設(shè)施,24小時(shí)熱水供應(yīng),可淋浴。一層前臺(tái)處設(shè)有便捷商店,當(dāng)時(shí)結(jié)算,不計(jì)入住宿賬單??赏ㄟ^內(nèi)網(wǎng)電話購買, 免費(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元/天,豪華套房500元/天。按小時(shí)計(jì)費(fèi),標(biāo)準(zhǔn)為單人間20元/小時(shí),雙人間30元/小時(shí),豪華套房50元/小 時(shí)。R計(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)

5、:入住定金按(預(yù)計(jì)入住時(shí)間*其單日房費(fèi)+500元)收取,退房時(shí)充作 房費(fèi)和房屋設(shè)施折損費(fèi)(抵償損壞的房內(nèi)設(shè)施),多退少補(bǔ)。預(yù)定定金(按預(yù)計(jì)訂房 時(shí)間*對應(yīng)房間按大計(jì)算住宿價(jià)格*40%)收取,若到時(shí)不入住且不續(xù)訂,則不再退還; 若到時(shí)入住,充作入住定金,多退少補(bǔ)。電話預(yù)定無需繳納定金,但不確保屆時(shí)有空 房間。注:定金數(shù)額可在以上標(biāo)準(zhǔn)數(shù)額之上,退房結(jié)算時(shí)多退少補(bǔ)。退房時(shí),室內(nèi)設(shè)施經(jīng)確認(rèn)無損壞情況,則不收取房屋設(shè)施折損費(fèi)。3.2 功能模塊劃分3.2.1 功能模塊描述根據(jù)任務(wù)內(nèi)容要求及賓館相關(guān)情況等信息,百康賓館住宿管理系統(tǒng)需要實(shí)現(xiàn)查詢 功能(包括客房總體使用情況查詢、已入住客房查詢、已預(yù)訂客房查詢、

6、閑置房間信 息查詢等查詢方式),訂房登記,入住登記,退房結(jié)算等四大基本功能。系統(tǒng)應(yīng)實(shí)現(xiàn) 對各類信息的靈活查找,客戶信息的錄入、保存與調(diào)用,自動(dòng)結(jié)算并生成賬單等操作。為了簡化前臺(tái)人員操作并提高其工作效率,還應(yīng)實(shí)現(xiàn)開始前初始化詢問,訂房或 入住登記時(shí)自動(dòng)顯示當(dāng)前閑置房間,入住前詢問是否已預(yù)訂,輸入錯(cuò)誤信息時(shí)進(jìn)行提 醒等人性化功能。由以上分析,將系統(tǒng)主要分為以下四大功能模塊,如圖 3.1所示:1)客房查詢:包括查詢客房總體使用情況、查詢當(dāng)前閑置房間信息、查詢已入住房 問信息、查詢已預(yù)定房間信息等查詢功能;2)訂房登記:包括顯示當(dāng)前閑置房間信息、登記預(yù)定信息等功能;3)入住登記:包括顯示當(dāng)前房間總體使

7、用情況、詢問是否預(yù)定過房間、登記入住人 信息等功能;4)退房結(jié)算:包括選擇結(jié)算方式、輸入結(jié)算時(shí)間、計(jì)算住宿費(fèi)用等功能。百康賓館住宿管理系注:我與網(wǎng)絡(luò)工程專業(yè)102001班王維康同學(xué)合作,共同完成本次有關(guān)于賓館住宿管理系統(tǒng)的程序設(shè)計(jì),我負(fù)責(zé)實(shí)現(xiàn)入住登記模塊、退房結(jié)算模;王維康同學(xué)負(fù)責(zé)編寫客 房查詢和訂房登記兩個(gè)模塊的相關(guān)內(nèi)容。3.2.2 輸入項(xiàng) 以下輸入項(xiàng)均為鍵盤輸入:num房間號 ,intkongxian房間是否空閑 ,intname20名字定義,char name20ID20 身份證號(18位阿拉伯?dāng)?shù)字),char ID20lianxifangshi15聯(lián)系方式(11 位阿拉伯?dāng)?shù)字),cha

8、r lianxifangshi15yajin押金,intyudingriqi預(yù)定日期(日期均為8位阿拉伯?dāng)?shù)字,格式為年月日),longruzhushijian入住日期,longtianshu預(yù)計(jì)天數(shù),int4.1主菜單模塊實(shí)現(xiàn)#jiezhiriqi截止日期 ,longp是否初始化(0或1), intchose選擇主菜單(1,2,3,4 或 5), intt 計(jì)費(fèi)方式(1或2), inti 子菜單選擇(1,2,3,4或5)(不同模塊可能定義不同),inta是否預(yù)定過房間(在ruzhudengji() 定義的),int3.2.3 輸出項(xiàng)房問號,int房間類型, char leixing10價(jià)格(元

9、/天),int價(jià)格(元/小時(shí)),int是否空閑,int客人姓名,char name20身份證,char ID20聯(lián)系方式,charlianxifangshi15押金(元),int預(yù)定日期,long入住時(shí)間,long預(yù)計(jì)天數(shù),int截止日期,long四、系統(tǒng)實(shí)現(xiàn)與測試4.1.1主菜單流程圖開始NP是否為1輸出“提示”調(diào)用 chushihua ()調(diào)用 Menu_Display()函數(shù)輸出“提示”輸入 chosett調(diào)用入住 登記函數(shù)YNY是否為“ 2調(diào)用訂房 登記函數(shù)調(diào)用房間 查詢函數(shù)Y是否為“ 1”Chose! =01NN輸出“提示”輸出“提示”N調(diào)用退房 結(jié)算函數(shù)Y一,,是否為“ 3Y是否為

10、 4輸入“按 任意鍵”結(jié)束5圖4.1主菜單流程圖4.1.2主菜單代碼void Menu_Display() system("cls");cout<<"tt#"<<endl;cout<<"tt#歡迎使用白康賓館管埋系統(tǒng)#"<<endl;cout<<"tt#請輸入您所需要的功能:#"<<endl;cout<<"tt#1.客房查詢2.訂房登記#"<<endl;cout<<"tt#3.入

11、住登記4.退房#"<<endl;cout<<"tt#5.退出#"<<endl;cout<<"tt#感 *謝 *您*的*使*用#"<<endl;cout<<"tt#"<<endl; void chushihua()int i3=1,0,1,k=0;for(;k<20;k+)hotelk.num=i0*100+i1*10+i2;strcpy(hotelk.ID,"0");hotelk.jiezhiriqi=0;hotel

12、k.kongxian=0;strcpy(hotelk.lianxifangshi,"0");strcpy(,"0");hotelk.ruzhushijian=0;hotelk.tianshu=0;hotelk.yudingriqi=0;switch(i0)單人間");break; 雙人間");break; 套房");break;case 1:hotelk.jiage=17020;strcpy(hotelk.leixing," case 2:hotelk.jiage=28030;strcpy(h

13、otelk.leixing," case 3:hotelk.jiage=50050;strcpy(hotelk.leixing," if(k=8)i0+,i2=0;if(k=14)7i0+,i2=0;i2+;fstream xieru("賓館房間信息.txt",ios:out);xieru<<"房間號 類型價(jià)格是否空閑 姓名身份證號聯(lián)系方式押金 預(yù)定日期入住時(shí)間天數(shù)截止日期"<<endl;for(int x=0;x<20;x+)xieru<<hotelx.num<<' &#

14、39;<<hotelx.leixing<<' '<<hotelx.jiage<<' '<<hotelx.kongxian<<' '<<<<''<<hotelx.ID<<' '<<hotelx.lianxifangshi<<' '<<hotelx.yajin<<''<<hotelx.yu

15、dingriqi<<' '<<hotelx.ruzhushijian<<''<<hotelx.tianshu<<' '<<hotelx.jiezhiriqi<<endl;xieru.close();void main()int p=0;cout<<"是否要初始化房間信息?"cout<<"(是請輸入1,否請輸入 0)"<<endl;cin>>p;if(p=1)chushihua(

16、);int chose;Menu_Display();cout<<"請輸入選項(xiàng):"cin>>chose;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<<"輸入錯(cuò)誤,請重新

17、輸入"<<endl; 提示錯(cuò)誤命令cout<<"tt#"<<endl;cout<<"tt#歡迎使用百康賓館管理系統(tǒng)#"<<endl;cout<<"tt#請輸入您所需要的功能:#"<<endl;cout<<"tt#1.客房查詢2.訂房登記#"<<endl;cout<<"tt#3.入住登記4.退 房#"<<endl;cout<<"tt#5

18、.退出#"<<endl;cout<<"tt#感 *謝 *您*的*使*用#"<<endl;cout<<"tt#"<<endl; cout<<"請輸入選項(xiàng):"cin>>chose;while(chose=0) cout<<"輸入錯(cuò)誤,按任意鍵退出程序:"<<endl;exit(0);4.1.3主菜單模塊測試主菜單界面中顯示客房管理系統(tǒng)的功能選項(xiàng)模塊如圖4.2所示:圖4.2主菜單4.2入住登記模塊實(shí)現(xiàn)94

19、.2.1入住登記流程圖11輸入“所要填,寫的信息”信息存儲(chǔ)到磁盤文件中登記成功圖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);/森輸入文件開頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié)(beg

20、=begin)int i=0; 存放空閑房間的號碼cout<<"房間號類型 價(jià)格(元/天)價(jià)格(元/小時(shí))空閑 "<<endl;while (i<20)liulan>>hoteli.num>>hoteli.leixing>>hoteli.jiage>>hoteli.kongxian>>hoteli.n ame>>hoteli.ID>>hoteli.lianxifangshi>>hoteli.yajin>>hoteli.yudingriqi

21、>>hoteli.r uzhushijian>>hoteli.tianshu>>hoteli.jiezhiriqi;cout<<setw(4)<<hoteli.num<<setw(8)<<hoteli.leixing<<setw(9)<<hoteli.jiage/100<<setw(14)<<hoteli.jiage%100<<setw(13)<<hoteli.kongxian;/輸出所有房間信息i+,cout<<endl;li

22、ulan.close();/關(guān)閉文件cout<<"(注:0表示空房間、1表示房間已入住、2表示房間已預(yù)訂)"<<endl;cout<<”是否預(yù)訂過房間? "<<endl;cout<<"是,請輸入1,否,請輸入2"<<endl;cin>>a;if(a=1)cout<<"請輸入房問號:"<<endl;cin>>b;for(i=0;i<20;i+)#if(hoteli.num=b)if(hoteli.yud

23、ingriqi!=0)cout<<"請輸入入住日期:"; cin>>hoteli.ruzhushijian; cout<<"請輸入截止日期:"; cin>>hoteli.jiezhiriqi;hoteli.yudingriqi=0; else cout<<"該房沒有被預(yù)訂過"<<endl; system("pause");elsecout<<”空房間有:"<<endl;for(int k=0;k<20;k

24、+)if(hotelk.kongxian=0)cout<<hotelk.num<<”"cout<<endl;cout<<"請輸入房問號:";cin>>b;for(i=0;i<20;i+)if(hoteli.num=b)cout<<”請依次輸入以下信息并加以核對(日期格式:年月日 例如19920503 )"<<endl;cout<<"姓 名:"cin>>;cout<<"身份證號:&

25、quot;cin>>hoteli.ID;cout<<"聯(lián)系方式:"; cin>>hoteli.lianxifangshi;cout<<"押金:"; cin>>hoteli.yajin; cout<<"天 數(shù):"cin>>hoteli.tianshu;cout<<"入住日期:"cin>>hoteli.ruzhushijian;hoteli.kongxian=2;)ofstream xieru("賓館房

26、間信息.txt",ios:out);/寫回文件xieru<<"房間號類型價(jià)格是否空閑姓名身份證號聯(lián)系方式 押金 預(yù)定日期入住時(shí)間天數(shù) 截止日期"<<endl;for(i=0;i<20;i+)xieru<<hoteli.num<<''<<hoteli.leixing<<''<<hoteli.jiage<<''<<hoteli.kongxian<<' '<<hoteli

27、.name<<''<<hoteli.ID<<' '<<hoteli.lianxifangshi<<' '<<hoteli.yajin<<''<<hoteli.yudingriqi<<' '<<hoteli.ruzhushijian<<''<<hoteli.tianshu<<' '<<hoteli.jiezhiriqi&

28、lt;<endl;xieru.close();cout<<"登記成功"<<endl;4.2.3入住登記模塊測入住登記界面顯示了房間使用情況以及提示以前是否預(yù)訂過房間如圖4.4所示:平;、課程鼓計(jì)lADwbug隹第住嚏管隹毛費(fèi)局間號類型價(jià)格元女)僑格小日萬1011702102170羽01031?02001041702001B5170Z&010617020010?1?02001817020回1091?0Z002R1280301262280300如328030同28S3002R52803002362803003U1S00S3025QGEI30

29、3035005。0304500W0,注;航 善否蓼S0O附3號示W(wǎng)房間、1表示房間已入住、2表示房間已預(yù)訂)入1,否,清輸入2如果客人預(yù)定過房間,則選擇“ 1”,然后輸入預(yù)訂房問號如圖4.5所示。輸入入 住日期和截止日期則“登記成功”如圖 4.6所示。湃程倭情住宿Z04280300Z052803002S0300391S00£回Q3025805晅B30350050039450050030&580E00(注;。表示空房間、1表示房間已入住、2表示房間已預(yù)訂)等否理汪萍同? 土+里請輸入L否,請輸入之;青輸入房間號I101售輸入入住日期二圖4.5選擇訂過房間入住登記界面F:洋程設(shè)計(jì)

30、lDebu外瑾館住宿官理案統(tǒng)后乂一2S628。3B0301S005003025 000徹sea03Q459B50Q3叼5500500(汪;陰表示空房間、表示房間已入住、2表示房間已預(yù)訂) 展否贈(zèng)頁房間? 心4.請輸入a否,請輸入之*輸入房間號101請強(qiáng)人A住日即;20111223請瑜人戴止B B = 2011122?饕記成西圖4.6訂過房間入住登記界面未預(yù)訂過房間則選擇“ 2”則會(huì)顯示出目前的空房間信息如圖 4.7所示,根據(jù)系 統(tǒng)提示輸入客人的信息則“登記成功”如圖 4.8所示。15田口呸上I 皂,詔輸3 4 5 6 12 30 0 0 0 0 0 02 2 2 2 3 3 3 F:靖程團(tuán)十口

31、口山“5署1住情皆匡系就七聯(lián),SR一6106SIS8 s S 0 0 0 2 2 2 2 5 5 500600(注芭_(tái)0示M房間 i表示房間已入住、2表示房間已預(yù)訂) d,否,請輸入z103104 105186107 IBS 1B1?281202203204205206304 305圖4.7選擇未訂過房間入住登記界面I 了:涕程設(shè)計(jì)口,用壽堵住宿宜度系防上證”17主祭軍126225199065«4985155034749225方我::1500號否預(yù)訂過房面?H,請輸八1,否,請輸入21Q1空房間有:161 1Q2 103 194 13510304 305間號401入以下信息并加以核對

32、107 108 1B9 202 2 日3 204 205日期格式年月日例如19920503 >入住日期120111222登記寇功圖4.8選擇未訂過房間入住登記輸入信息界面4.3退房結(jié)算模塊實(shí)現(xiàn)4.3.1 退房結(jié)算流程圖天數(shù)計(jì)算方法開始t= =2小時(shí)計(jì)算方法結(jié)束»信息存儲(chǔ)道磁 ”盤文件當(dāng)中去輸出“提示”輸入“房間號”查找該 房間信息輸出該房間信息輸出“提示”輸入“結(jié) 算日期”輸出“提示”輸出“計(jì)圖4.9退房結(jié)算流程圖194.3.2退房結(jié)算代碼void tuifang()int a,b;ifstream fin("賓館房間信息.txt",ios:in);cout

33、<<"請輸入房號:";cin>>a;int c=0,i=0;fin.seekg(117,ios:beg);/在輸入文件開頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié)( beg=begin) while(i<20) fin>>hoteli.num>>hoteli.leixing>>hoteli.jiage>>hoteli.kongxian>>>>hoteli.ID>>hoteli.lianxifangshi>>hoteli.yajin>&

34、gt;hoteli.yudingriqi>>hoteli.ruzhushijian>>hoteli.tianshu>>hoteli.jiezhiriqi;if(hoteli.num=a)查詢客人房間b=i; i+;fin.close();cout<<"房間信息為:"<<endl;cout<<" 姓名: 押金(元):入住時(shí)間:"<<endl;cout<<setw(6)<<<<setw(8)<<hotelb

35、.yajin<<setw(20)<<hotelb.ruzhushijian<<en dl;cout<<”(注:日期輸入格式年月日 例如20120101 )"<<endl;cout<<"請輸結(jié)算入日期:"int d;cin>>d;hotelb.jiezhiriqi=d;int fei;cout<<"按小時(shí)/天數(shù)11費(fèi)(小時(shí)輸入1,天數(shù)輸入2):"int t;cin>>t;if(t=2)fei=hotelb.yajin-(hotelb.jie

36、zhiriqi-hotelb.ruzhushijian)*(hotelb.jiage/100); 結(jié)算函 數(shù),押金一(結(jié)算時(shí)間-入住時(shí)間)*價(jià)格elsefei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage%100);按小時(shí)計(jì)算#if(fei<0)(fei=-fei;cout<<"應(yīng)付費(fèi)用為:"<<fei<<"元"<<endl;) else(cout<<"總消費(fèi)金額為:"<<

37、;hotelb.yajin-fei<<" 元"<<endl;cout<<"押金足夠應(yīng)返還給您:"<<fei<<"元"<<endl;)fstream jsxx("結(jié)算信息.txt",ios:out);jsxx<<"消費(fèi)信息為:"<<endl;jsxx<<"姓名:"<<<<endl<<"押金(元):&quo

38、t;<<hotelb.yajin<<endl<<" 入住時(shí)間: "<<hotelb.ruzhushijian<<endl<<"結(jié)算時(shí)間:"<<d<<endl;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.y

39、ajin-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

40、.ruzhushijian=0;hotelb.jiezhiriqi=0;hotelb.yajin=0;hotelb.tianshu=0;hotelb.jiezhiriqi=0;fstream xieru("賓館房間信息.txt",ios:out);/ 生成文件xieru<<"房間號 類型價(jià)格是否空閑姓名身份證號聯(lián)系方式押金預(yù)定日期入住時(shí)間天數(shù)截止日期"<<endl;for(i=0;i<20;i+)(xieru<<hoteli.num<<' '<<hoteli.leixing

41、<<' '<<hoteli.jiage<<' '<<hoteli.kongxian<<' '<<<<''<<hoteli.ID<<' '<<hoteli.lianxifangshi<<''<<hoteli.yajin<<''<<hoteli.yudingriqi<<' '

42、;<<hoteli.ruzhushijian<<''<<hoteli.tianshu<<' '<<hoteli.jiezhiriqi<<endl;xieru.close();system("pause");4.3.3退房結(jié)算模塊測試選擇退房功能輸入房問號則會(huì)顯示出客人的基本信息如圖4.10所示;根據(jù)系統(tǒng)提示輸入結(jié)算日期并選擇結(jié)算方式則“結(jié)算結(jié)束”如圖 4.11和圖4.12所示。賬單信息存入到磁盤文件當(dāng)中去,如圖4.13所示。下八強(qiáng)程設(shè)計(jì)UDebug醫(yī)管主盾管蘇.exe#酢

43、#博#椿幫#博#椿幫#博#椿V 比 tt請班1?歡迎圈箴賽演管理系細(xì)2 .訂房登記4.ii 電£.退出感坤謝*您*的”使*用35請醯入選項(xiàng);;4入住時(shí)間:20111221旌包:押金(元九列明涵8 00請輸入結(jié)算日期(格式年月日20100202:圖4.10退房結(jié)算輸入結(jié)算房間號后界面圖嚇;漂程設(shè)計(jì)1%。日bu6賓常住有苣淮素崎,"看查詢 登記(?歡迎康賓館管理系統(tǒng)e2.江房登記4.® 送tt,退出感”謝小您好的*使*用4t*僧加入選項(xiàng): 4房電倡息樂 人_姓由押金4元 ),入住時(shí)間口劉明涵 SO023111221請輸入結(jié)算日期格式年月日20100203)2»

44、;111225按小時(shí)次數(shù)計(jì)費(fèi)£天數(shù)輸入L小時(shí)輸入力口圖4.11退房結(jié)算輸入日期界面20111221康賓館管理系統(tǒng)犯房登記計(jì)費(fèi)天數(shù)輸入,小時(shí)輸入21 1 勺;728兀.L nJ 上 r J H劉映國 8 00清輸大結(jié)算日期格式年月日20111225入住時(shí)間 231112Z1 20100202)五、程序調(diào)試中出現(xiàn)的問題及解決方法在調(diào)試程序過程中頻繁出現(xiàn)的問題就是分號的丟失以及書寫程序中一些最基本 的字符要求沒有正確的書寫,導(dǎo)致一個(gè)程序里出現(xiàn)了大量的錯(cuò)誤,在改錯(cuò)時(shí)吸取教訓(xùn) 為后期的工作節(jié)省了很多時(shí)間,在整個(gè)程序運(yùn)行時(shí),由于有的函數(shù)之定義了,而后面 卻沒有見這個(gè)函數(shù)寫完,導(dǎo)致整個(gè)程序無法運(yùn)行

45、,開始解決的時(shí)候是將此函數(shù)全部清除然后運(yùn)行整個(gè)程序,后來在將函數(shù)寫完整放進(jìn)大的程序中去進(jìn)行運(yùn)行。在入住登記調(diào)試程序時(shí),房間信息顯示出現(xiàn)了無限循環(huán)的情況,經(jīng)過對語句的分析,發(fā)現(xiàn)是后面的i+書寫錯(cuò)誤導(dǎo)致的,經(jīng)過修改后錯(cuò)誤排出了。有時(shí)還會(huì)出現(xiàn)程序成功運(yùn)行后,但是在dos界面選擇一些功能時(shí)出現(xiàn)無限循環(huán),解決的方法是先看所寫的循環(huán)語句是否出現(xiàn)錯(cuò)誤,Debug/賓館住宿管理系統(tǒng).exe :fatal error LNK1120: 1 unresolved externals運(yùn)行錯(cuò)誤提示,也總是出現(xiàn),經(jīng)過上網(wǎng)查 詢找出解決方法原因是設(shè)置的參數(shù)有問題。六、參考文獻(xiàn)1譚浩強(qiáng).C+程序設(shè)計(jì).北京:清華大學(xué)出版社.

46、20112鄭莉.C+程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社.20053錢能.C+程序設(shè)計(jì)教程.北京:清華大學(xué)出版社.20044武俊亮.visual C+課程設(shè)計(jì)與系統(tǒng)開發(fā)案例.北京:清華出版社5黃維通.Visual C+程序設(shè)計(jì)教程.北京:清華大學(xué)出版社.2005七、附錄:程序代碼#include<iostream>#include<iomanip> 輸出流控制#include<string>#include<fstream>/輸入輸出文件流using namespace std; void search_message();void ding

47、fangdengji();void ruzhudengji();void tuifang();void all_message();void empty_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 jiezhi

48、riqi;hotel20;void Menu_Display() system("cls");cout<<"tt#"<<endl;cout<<"tt#歡迎使用白康賓館管埋系統(tǒng)#"<<endl;cout<<"tt#請輸入您所需要的功能:#"<<endl;cout<<"tt#1.客房查詢2.訂房登記#"<<endl;cout<<"tt#3.入住登記4.退房#"<<

49、;endl;cout<<"tt#5.退出#"<<endl;cout<<"tt#感 *謝 *您*的*使*用#"<<endl;cout<<"tt#"<<endl; void chushihua()int i3=1,0,1,k=0;for(;k<20;k+)hotelk.num=i0*100+i1*10+i2;strcpy(hotelk.ID,"0");hotelk.jiezhiriqi=0;hotelk.kongxian=0;strcpy(h

50、otelk.lianxifangshi,"0");strcpy(,"0");hotelk.ruzhushijian=0;hotelk.tianshu=0;hotelk.yudingriqi=0;switch(i0)case 1:hotelk.jiage=17020;strcpy(hotelk.leixing,"case 2:hotelk.jiage=28030;strcpy(hotelk.leixing,"case 3:hotelk.jiage=50050;strcpy(hotelk.leixing,"

51、 if(k=8)i0+,i2=0;if(k=14)i0+,i2=0;i2+;fstream xieru("賓館房間信息.txt",ios:out);xieru<<"房間號 類型價(jià)格是否空閑姓名單人間");break; 雙人間");break; 套房");break;身份證號聯(lián)系方式押金預(yù)定日期入住時(shí)間天數(shù)截止日期"<<endl;for(int x=0;x<20;x+)xieru<<hotelx.num<<' '<<hotelx.leixing&

52、lt;<' '<<hotelx.jiage<<' '<<hotelx.kongxian<< '<<<<''<<hotelx.ID<<' '<<hotelx.lianxifangshi<<' '<<hotelx.yajin<<'<<hotelx.yudingriqi<<' '<<h

53、otelx.ruzhushijian<<''<<hotelx.tianshu<<' '<<hotelx.jiezhiriqi<<endl;xieru.close(); void main()int p=0;cout<<"是否要初始化房間信息?"cout<<"(是請輸入1,否請輸入 0)"<<endl;cin>>p;if(p=1)chushihua();int chose;Menu_Display();cout<

54、<"請輸入選項(xiàng):"cin>>chose;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<<"輸入錯(cuò)誤,請重新輸入 "<<endl; 提示錯(cuò)誤命令cout&l

55、t;<"tt#"<<endl;cout<<"tt#歡迎使用白康賓館管埋系統(tǒng)#"<<endl;cout<<"tt#請輸入您所需要的功能:#"<<endl;cout<<"tt#1.客房查詢2.訂房登記#"<<endl;cout<<"tt#3.入住登記4.退房#"<<endl;cout<<"tt#5.退出#"<<endl;cout<<

56、"tt#感 *謝 *您*的*使*用#"<<endl;cout<<"tt#"<<endl; cout<<"請輸入選項(xiàng):"cin>>chose;while(chose=0) cout<<"輸入錯(cuò)誤,按任意鍵退出程序:"<<endl;exit(0); void ruzhudengji() int a,b=0;string name;ifstream liulan("賓館房間信息.txt",ios:in);定義輸入文件流

57、對象,以輸入方式打開磁盤文件旅信if(!liulan)判斷文件是否打開成功cerr<<"文件不能讀."<<endl;return; elseliulan.seekg(117,ios:beg);在輸入文件開頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié)( beg=begin) int i=0;存放空閑房間的號碼cout<<"房間號 類型價(jià)格(元/天)價(jià)格(元/小時(shí))空閑 "<<endl;while (i<20) liulan>>hoteli.num>>hoteli.leixing>>

58、hoteli.jiage>>hoteli.kongxian>>>>hoteli.ID>>hoteli.lianxifangshi>>hoteli.yajin>>hoteli.yudingriqi>>hoteli.ruzhushijian>>hoteli.tianshu>>hoteli.jiezhiriqi;cout<<setw(4)<<hoteli.num<<setw(8)<<hoteli.leixing<<

59、;setw(9)<<hoteli.jiage/100<<setw(14 )<<hoteli.jiage%100<<setw(13)<<hoteli.kongxian;/輸出所有房間信息i+,cout<<endl; liulan.close(); 關(guān)閉文件 cout<<"(注:0表示空房間、1表示房間已入住、2表示房間已預(yù)訂)"<<endl; cout<<"是否預(yù)訂過房間?"<<endl;cout<<"是,請輸入1,

60、否,請輸入 2"<<endl;cin>>a;if(a=1) cout<<"請輸入房間號:"<<endl;cin>>b;for(i=0;i<20;i+) if(hoteli.num=b) if(hoteli.yudingriqi!=0) cout<<"請輸入入住日期:"; cin>>hoteli.ruzhushijian; cout<<"請輸入截止日期:"; cin>>hoteli.jiezhiriqi; hote

61、li.yudingriqi=0; else cout<<"該房沒有被預(yù)訂過"<<endl; system("pause"); else cout<<"空房間有:"<<endl;for(int k=0;k<20;k+) if(hotelk.kongxian=0)cout<<hotelk.num<<"II.)cout<<endl;cout<<"請輸入房間號:";cin>>b;for(i=0;i&l

62、t;20;i+) if(hoteli.num=b) (cout<<"請依次輸入以下信息并加以核對 (日 19920503 )"<<endl;cout<<"姓 名:"cin>>;cout<<"身份證號:"cin>>hoteli.ID;cout<<"聯(lián)系方式:"cin>>hoteli.lianxifangshi;cout<<"押金:";cin>>hoteli.

63、yajin;cout<<"天 數(shù):"cin>>hoteli.tianshu;cout<<"入住日期:"cin>>hoteli.ruzhushijian;hoteli.kongxian=2;)ofstream xieru("賓館房間信息.txt",ios:out); 寫回文件xieru<<"房間號類型價(jià)格是否空閑姓名身份證號預(yù)定日期入住時(shí)間天數(shù) 截止日期"<<endl;for(i=0;i<20;i+)xieru<<hoteli.num<<' '<<hoteli.leixing<<' '<<hoteli.jiage<<' '<<<<''<<hoteli.ID<<''<<hoteli.lianxifangshi<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論