版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 一、課程設(shè)計的目的</b></p><p> 學(xué)習(xí)綜合運用C高級語言課程和其他先修課程的知識,提高分析和解決實際問題的的能力,進一步鞏固、加深和拓寬所學(xué)的知識;進一步加強結(jié)構(gòu)化程序設(shè)計的思想,加深對高級語言基本語言要素和控制結(jié)構(gòu)的理解。</p><p> 全面系統(tǒng)的學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計的基本概念、基本語法和編程方法;獨立完成有一定工作
2、量的程序設(shè)計任務(wù),同時強調(diào)好的程序設(shè)計風(fēng)格。</p><p> 掌握程序設(shè)計中的常用算法和C語言的編程技巧和上機調(diào)試程序的方法。</p><p> 在參與一系列子項目的實踐過程中,提高如何綜合運用所學(xué)知識解決實際問題的能力,以及獲得相關(guān)項目管理和團隊合作等眾多方面的具體經(jīng)驗。</p><p><b> 課程設(shè)計的任務(wù)</b></p&
3、gt;<p> 按照如下要求,運用C++語言,編寫一套可用的較為完善的賓館住宿管理系統(tǒng)軟件(兩人分模塊合作)</p><p> 對賓館基本信息【房間數(shù)量、房間類別(標(biāo)間、單間、套房)、收費標(biāo)準(zhǔn)等】在適當(dāng)范圍內(nèi)自行規(guī)定。</p><p> 能夠?qū)崿F(xiàn)預(yù)定登記、入住登記、退房結(jié)算等功能;房間狀態(tài)(空房、入住、預(yù)定)能夠以一定方式直觀地表現(xiàn)。</p><p&
4、gt; 能夠錄入住宿人員信息、計算客戶消費總額并生成賬單,賬單信息存入到磁盤文件當(dāng)中去。</p><p> 能夠相對靈活地查詢房間狀態(tài)、入住情況、空房情況、預(yù)訂情況等內(nèi)容。</p><p> 能夠產(chǎn)生各類報表,如房間信息、入住信息、消費表單等在磁盤文件當(dāng)中可以查看它們的信息。</p><p><b> 三、系統(tǒng)設(shè)計方案</b></
5、p><p><b> 3.1系統(tǒng)詳細(xì)描述</b></p><p> 3.1.1系統(tǒng)設(shè)計背景</p><p> 隨著人民生活水平的提高,旅游出行的人越來越多,賓館的客流量不斷增加,普通的手寫登記太過復(fù)雜經(jīng)常出現(xiàn)信息丟失,也不適合現(xiàn)在的節(jié)約型社會的發(fā)展,賓館在正常運營中需要對客房資源、顧客信息、退房信息等進行管理,利用客房管理系統(tǒng)及時了解各個環(huán)節(jié)
6、中信息的變更,有利于提高管理的效率。 本項目作為c++課程設(shè)計的訓(xùn)練項目提出,目的是為了提高同學(xué)們系統(tǒng)的開發(fā),則提高大家的實踐能力。所以開發(fā)一個符合自身賓館實際情況的工作平臺是十分必要的。</p><p> 3.1.2系統(tǒng)設(shè)計詳細(xì)信息</p><p> 系統(tǒng)使用對象設(shè)定為百康賓館。百康賓館是一家鄉(xiāng)鎮(zhèn)中小型賓館,三層建筑,擁有各類房間共20間。其中一層均為單人間,共9間,房號101-10
7、9;二層為均雙人間,共6間,房號201-206;三層均為豪華套房,共5間,房號301-305。</p><p> 各類房間均設(shè)有電視、櫥柜、內(nèi)網(wǎng)電話、風(fēng)扇、暖氣等基礎(chǔ)設(shè)施,24小時熱水供應(yīng),可淋浴。</p><p> 一層前臺處設(shè)有便捷商店,當(dāng)時結(jié)算,不計入住宿賬單。可通過內(nèi)網(wǎng)電話購買,免費送至房間。</p><p> A、收費標(biāo)準(zhǔn):有按天計費和按小時計費兩種
8、收費標(biāo)準(zhǔn)。</p><p> 按天計費,標(biāo)準(zhǔn)為單人間 170元/天,雙人間280元/天,豪華套房500元/天。</p><p> 按小時計費,標(biāo)準(zhǔn)為單人間20元/小時,雙人間30元/小時,豪華套房50元/小時。</p><p> B、計時標(biāo)準(zhǔn):按天計費時,從0時至次日0時計一天,不滿一天按一天計算;按小時計費時,不滿一小時按一小時計費。(特殊情形的優(yōu)惠政策不在
9、本設(shè)計考慮范圍之內(nèi))</p><p> C、定金標(biāo)準(zhǔn):入住定金按(預(yù)計入住時間*其單日房費+500元)收取,退房時充作房費和房屋設(shè)施折損費(抵償損壞的房內(nèi)設(shè)施),多退少補。預(yù)定定金(按預(yù)計訂房時間*對應(yīng)房間按天計算住宿價格*40%)收取,若到時不入住且不續(xù)訂,則不再退還;若到時入住,充作入住定金,多退少補。電話預(yù)定無需繳納定金,但不確保屆時有空房間。</p><p> 注:定金數(shù)額可在
10、以上標(biāo)準(zhǔn)數(shù)額之上,退房結(jié)算時多退少補。</p><p> 退房時,室內(nèi)設(shè)施經(jīng)確認(rèn)無損壞情況,則不收取房屋設(shè)施折損費。</p><p><b> 3.2功能模塊劃分</b></p><p> 3.2.1功能模塊描述</p><p> 根據(jù)任務(wù)內(nèi)容要求及賓館相關(guān)情況等信息,百康賓館住宿管理系統(tǒng)需要實現(xiàn)查詢功能(包括客
11、房總體使用情況查詢、已入住客房查詢、已預(yù)訂客房查詢、閑置房間信息查詢等查詢方式),訂房登記,入住登記,退房結(jié)算等四大基本功能。系統(tǒng)應(yīng)實現(xiàn)對各類信息的靈活查找,客戶信息的錄入、保存與調(diào)用,自動結(jié)算并生成賬單等操作。</p><p> 為了簡化前臺人員操作并提高其工作效率,還應(yīng)實現(xiàn)開始前初始化詢問,訂房或入住登記時自動顯示當(dāng)前閑置房間,入住前詢問是否已預(yù)訂,輸入錯誤信息時進行提醒等人性化功能。</p>
12、<p> 由以上分析,將系統(tǒng)主要分為以下四大功能模塊,如圖3.1所示:</p><p> 客房查詢:包括查詢客房總體使用情況、查詢當(dāng)前閑置房間信息、查詢已入住房間信息、查詢已預(yù)定房間信息等查詢功能;</p><p> 訂房登記:包括顯示當(dāng)前閑置房間信息、登記預(yù)定信息等功能;</p><p> 入住登記:包括顯示當(dāng)前房間總體使用情況、詢問是否預(yù)定過
13、房間、登記入住人信息等功能;</p><p> 退房結(jié)算:包括選擇結(jié)算方式、輸入結(jié)算時間、計算住宿費用等功能。</p><p> 圖3.1功能模塊結(jié)構(gòu)圖</p><p> 注:我與網(wǎng)絡(luò)工程專業(yè)102001班王維康同學(xué)合作,共同完成本次有關(guān)于賓館住宿管理系統(tǒng)的程序設(shè)計,我負(fù)責(zé)實現(xiàn)入住登記模塊、退房結(jié)算模;王維康同學(xué)負(fù)責(zé)編寫客房查詢和訂房登記兩個模塊的相關(guān)內(nèi)容。&
14、lt;/p><p><b> 3.2.2輸入項</b></p><p> 以下輸入項均為鍵盤輸入:</p><p> num——房間號 ,int</p><p> kongxian——房間是否空閑 ,int </p><p> name[20]——名字定義, char name[20] &l
15、t;/p><p> ID[20]——身份證號(18位阿拉伯?dāng)?shù)字),char ID[20]</p><p> lianxifangshi[15]——聯(lián)系方式(11位阿拉伯?dāng)?shù)字),char lianxifangshi[15]</p><p> yajin——押金, int </p><p> yudingriqi——預(yù)定日期(日期均為8位阿
16、拉伯?dāng)?shù)字,格式為年月日), long </p><p> ruzhushijian——入住日期 ,long </p><p> tianshu——預(yù)計天數(shù), int </p><p> jiezhiriqi——截止日期 ,long </p><p> p——是否初始化(0或1), int</p><p> c
17、hose——選擇主菜單(1,2,3,4或5), int</p><p> t——計費方式(1或2), int</p><p> i——子菜單選擇(1,2,3,4或5)(不同模塊可能定義不同), int</p><p> a——是否預(yù)定過房間(在ruzhudengji()定義的),int</p><p><b> 3.2.3輸
18、出項</b></p><p><b> 房間號, int</b></p><p> 房間類型 ,char leixing[10]</p><p> 價格(元/天), int</p><p> 價格(元/小時) ,int</p><p><b> 是否空閑 ,int
19、</b></p><p> 客人姓名,char name[20]</p><p> 身份證,char ID[20]</p><p> 聯(lián)系方式 ,charlianxifangshi[15]</p><p> 押金(元), int</p><p> 預(yù)定日期 ,long</p><
20、;p> 入住時間 ,long</p><p><b> 預(yù)計天數(shù), int</b></p><p> 截止日期, long</p><p><b> 四、系統(tǒng)實現(xiàn)與測試</b></p><p> 4.1主菜單模塊實現(xiàn)</p><p> 4.1.1主菜單流程圖
21、</p><p> 圖4.1主菜單流程圖</p><p> 4.1.2主菜單代碼</p><p> void Menu_Display()</p><p><b> {</b></p><p> system("cls");</p><p>
22、 cout<<"\t\t###########################################"<<endl;</p><p> cout<<"\t\t# @歡迎使用百康賓館管理系統(tǒng)@ #"<<endl;</p><p> cout<<"
23、;\t\t# 請輸入您所需要的功能: #"<<endl;</p><p> cout<<"\t\t# 1.客房查詢 2.訂房登記 #"<<endl;</p><p> cout<<"\t\t# 3.入住登記
24、 4.退 房 #"<<endl;</p><p> cout<<"\t\t# 5. 退 出 #"<<endl;</p><p> cout<<"\t\t# 感 * 謝 * 您 * 的
25、* 使 * 用 #"<<endl;</p><p> cout<<"\t\t###########################################"<<endl;</p><p><b> }</b></p><p> void chushih
26、ua()</p><p><b> {</b></p><p> int i[3]={1,0,1},k=0;</p><p> for(;k<20;k++)</p><p><b> {</b></p><p> hotel[k].num=i[0]*100+i
27、[1]*10+i[2];</p><p> strcpy(hotel[k].ID,"0");</p><p> hotel[k].jiezhiriqi=0;</p><p> hotel[k].kongxian=0;</p><p> strcpy(hotel[k].lianxifangshi,"0&qu
28、ot;);</p><p> strcpy(hotel[k].name,"0");</p><p> hotel[k].ruzhushijian=0;</p><p> hotel[k].tianshu=0;</p><p> hotel[k].yudingriqi=0;</p><p>
29、 switch(i[0])</p><p><b> {</b></p><p> case 1:{hotel[k].jiage=17020;strcpy(hotel[k].leixing,"單人間");break;}</p><p> case 2:{hotel[k].jiage=28030;strcpy(hotel
30、[k].leixing,"雙人間");break;}</p><p> case 3:{hotel[k].jiage=50050;strcpy(hotel[k].leixing,"套房");break;}</p><p><b> }</b></p><p><b> if(k==8)&l
31、t;/b></p><p> i[0]++,i[2]=0;</p><p><b> if(k==14)</b></p><p> i[0]++,i[2]=0;</p><p><b> i[2]++;</b></p><p><b> }</
32、b></p><p> fstream xieru("賓館房間信息.txt",ios::out);</p><p> xieru<<"房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預(yù)定日期 入住時間 天數(shù) 截止日期 "<<endl;<
33、;/p><p> for(int x=0;x<20;x++)</p><p><b> {</b></p><p> xieru<<hotel[x].num<<' '<<hotel[x].leixing<<' '<<hotel[x].jiage&
34、lt;<' '<<hotel[x].kongxian<<' '<<hotel[x].name</p><p> <<' '<<hotel[x].ID<<' '<<hotel[x].lianxifangshi<<' '<<
35、hotel[x].yajin<<' '<<hotel[x].yudingriqi<<' '<<hotel[x].ruzhushijian</p><p> <<' '<<hotel[x].tianshu<<' '<<hotel[x].jiezhiriqi
36、<<endl; </p><p><b> }</b></p><p> xieru.close();</p><p><b> }</b></p><p> void main()</p><p><b> {</b></
37、p><p><b> int p=0;</b></p><p> cout<<"是否要初始化房間信息?";</p><p> cout<<"(是請輸入1,否請輸入0)"<<endl;</p><p><b> cin>>
38、p;</b></p><p><b> if(p==1)</b></p><p> chushihua();</p><p> int chose;</p><p> Menu_Display();</p><p> cout<<"請輸入選項:"
39、;;</p><p> cin>>chose;</p><p> while(chose!=0)</p><p> {
40、
41、 </p><p> switch(chose)//用switch語句判斷選擇菜單的功能&
42、lt;/p><p><b> {</b></p><p> case 1:search_message();break; //客房查詢</p><p> case 2:dingfangdengji();break;//訂房間</p><p> case 3:ruzhudengji();break;//入住房間<
43、/p><p> case 4:tuifang();break;//退房</p><p> case 5:exit(0);</p><p> default:cout<<"輸入錯誤,請重新輸入"<<endl; //提示錯誤命令</p><p><b> }</b></p
44、><p> cout<<"\t\t###########################################"<<endl;</p><p> cout<<"\t\t# @歡迎使用百康賓館管理系統(tǒng)@ #"<<endl;</p><p> c
45、out<<"\t\t# 請輸入您所需要的功能: #"<<endl;</p><p> cout<<"\t\t# 1.客房查詢 2.訂房登記 #"<<endl;</p><p> cout<<"\t\t#
46、 3.入住登記 4.退 房 #"<<endl;</p><p> cout<<"\t\t# 5. 退 出 #"<<endl;</p><p> cout<<"\t\t# 感 * 謝 * 您 *
47、 的 * 使 * 用 #"<<endl;</p><p> cout<<"\t\t###########################################"<<endl;</p><p> cout<<"請輸入選項:";</p><p>
48、 cin>>chose;</p><p> while(chose==0)</p><p><b> {</b></p><p> cout<<"輸入錯誤,按任意鍵退出程序:"<<endl;</p><p><b> exit(0);</b
49、></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.1.3主菜單模塊測試</p><p> 主菜單界面中顯示客房管理系統(tǒng)的功能選項模塊如圖4.2所示:
50、</p><p><b> 圖4.2主菜單</b></p><p> 4.2入住登記模塊實現(xiàn)</p><p> 4.2.1入住登記流程圖</p><p> 圖4.3入住登記流程圖</p><p> 4.2.2入住登記代碼</p><p> void ruzhud
51、engji()</p><p><b> {</b></p><p> int a,b=0;</p><p> string name;</p><p> ifstream liulan("賓館房間信息.txt",ios::in); //定義輸入文件流對象,以輸入方式打開磁盤文件旅信<
52、;/p><p> if(!liulan) //判斷文件是否打開成功</p><p><b> {</b></p><p> cerr<<"文件不能讀."<<endl;return;</p><p><b> }&l
53、t;/b></p><p><b> else</b></p><p> liulan.seekg(117,ios::beg);//在輸入文件開頭以參照位置為基礎(chǔ)移動若干字節(jié)(beg=begin)</p><p> int i=0; //存放空閑房間的號碼</p><p> cout<<&qu
54、ot;房間號 類型 價格(元/天) 價格(元/小時) 空閑 "<<endl;</p><p> while (i<20)</p><p><b> {</b></p><p> liulan>>hotel[i].num>>hotel[i].leixing>
55、>hotel[i].jiage>>hotel[i].kongxian>>hotel[i].name</p><p> >>hotel[i].ID>>hotel[i].lianxifangshi>>hotel[i].yajin>>hotel[i].yudingriqi>>hotel[i].ruzhushijian</p
56、><p> >>hotel[i].tianshu>>hotel[i].jiezhiriqi;</p><p> cout<<setw(4)<<hotel[i].num<<setw(8)<<hotel[i].leixing<<setw(9)<<hotel[i].jiage/100<<s
57、etw(14)<<hotel[i].jiage%100<<setw(13)</p><p> <<hotel[i].kongxian; //輸出所有房間信息</p><p> i++,cout<<endl;</p><p><b> }</b></p><p>
58、; liulan.close(); //關(guān)閉文件</p><p> cout<<"(注:0表示空房間、1表示房間已入住、2表示房間已預(yù)訂)"<<endl;</p><p> cout<<"是否預(yù)訂過房間?"<<endl;</p><p> cout<<&
59、quot;是,請輸入1,否,請輸入2"<<endl;</p><p><b> cin>>a;</b></p><p><b> if(a==1)</b></p><p><b> {</b></p><p> cout<<
60、"請輸入房間號:"<<endl;</p><p><b> cin>>b;</b></p><p> for(i=0;i<20;i++)</p><p> if(hotel[i].num==b)</p><p><b> {</b></
61、p><p> if(hotel[i].yudingriqi!=0)</p><p><b> {</b></p><p> cout<<"請輸入入住日期:";</p><p> cin>>hotel[i].ruzhushijian;</p><p>
62、 cout<<"請輸入截止日期:";</p><p> cin>>hotel[i].jiezhiriqi;</p><p> hotel[i].yudingriqi=0;</p><p><b> }</b></p><p><b> else</b&
63、gt;</p><p><b> {</b></p><p> cout<<"該房沒有被預(yù)訂過"<<endl;</p><p> system("pause");</p><p><b> }</b></p>&l
64、t;p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"空房間有:"<<
65、;endl;</p><p> for(int k=0;k<20;k++)</p><p><b> {</b></p><p> if(hotel[k].kongxian==0)</p><p> cout<<hotel[k].num<<" ";</p&
66、gt;<p><b> }</b></p><p> cout<<endl;</p><p> cout<<"請輸入房間號:";</p><p><b> cin>>b;</b></p><p> for(i=0;i&l
67、t;20;i++)</p><p> if(hotel[i].num==b)</p><p><b> {</b></p><p> cout<<"請依次輸入以下信息并加以核對 (日期格式:年月日 例如 19920503 )"<<endl;</p><p> cout
68、<<"姓 名:";</p><p> cin>>hotel[i].name;</p><p> cout<<"身份證號:";</p><p> cin>>hotel[i].ID;</p><p> cout<<"聯(lián)系方式
69、:";</p><p> cin>>hotel[i].lianxifangshi;</p><p> cout<<"押金:";</p><p> cin>>hotel[i].yajin;</p><p> cout<<"天 數(shù):";
70、</p><p> cin>>hotel[i].tianshu;</p><p> cout<<"入住日期:";</p><p> cin>>hotel[i].ruzhushijian;</p><p> hotel[i].kongxian=2;</p><p
71、><b> }</b></p><p><b> }</b></p><p> ofstream xieru("賓館房間信息.txt",ios::out); //寫回文件</p><p> xieru<<"房間號 類型 價格 是否空閑 姓名 身份證號
72、 聯(lián)系方式 押金 預(yù)定日期 入住時間 天數(shù) 截止日期 "<<endl;</p><p> for(i=0;i<20;i++)</p><p> xieru<<hotel[i].num<<' '<<hotel[i].leixing<<' '<&
73、lt;hotel[i].jiage<<' '<<hotel[i].kongxian<<' '<<hotel[i].name</p><p> <<' '<<hotel[i].ID<<' '<<hotel[i].lianxifangshi<<&
74、#39; '<<hotel[i].yajin<<' '<<hotel[i].yudingriqi<<' '<<hotel[i].ruzhushijian</p><p> <<' '<<hotel[i].tianshu<<' '<<h
75、otel[i].jiezhiriqi<<endl; </p><p> xieru.close();</p><p> cout<<"登記成功"<<endl;</p><p> }4.2.3入住登記模塊測</p><p> 入住登記界面顯示了房間使用情況以及提示以前是否預(yù)訂過房
76、間如圖4.4所示:</p><p> 圖4.4入住登記界面</p><p> 如果客人預(yù)定過房間,則選擇“1”,然后輸入預(yù)訂房間號如圖4.5所示。輸入入住日期和截止日期則“登記成功”如圖4.6所示。</p><p> 圖4.5選擇訂過房間入住登記界面</p><p> 圖4.6訂過房間入住登記界面</p><p&g
77、t; 未預(yù)訂過房間則選擇“2” 則會顯示出目前的空房間信息如圖4.7所示,根據(jù)系統(tǒng)提示輸入客人的信息則“登記成功”如圖4.8所示。</p><p> 圖4.7選擇未訂過房間入住登記界面</p><p> 圖4.8選擇未訂過房間入住登記輸入信息界面</p><p> 4.3退房結(jié)算模塊實現(xiàn)</p><p> 4.3.1退房結(jié)算流程圖&
78、lt;/p><p> 圖4.9 退房結(jié)算流程圖</p><p> 4.3.2退房結(jié)算代碼</p><p> void tuifang()</p><p><b> {</b></p><p><b> int a,b;</b></p><p>
79、 ifstream fin("賓館房間信息.txt",ios::in);</p><p> cout<<"請輸入房號:";</p><p><b> cin>>a;</b></p><p> int c=0,i=0;</p><p> fin.s
80、eekg(117,ios::beg);//在輸入文件開頭以參照位置為基礎(chǔ)移動若干字節(jié)(beg=begin)</p><p> while(i<20)</p><p><b> {</b></p><p> fin>>hotel[i].num>>hotel[i].leixing>>hotel[i].
81、jiage>>hotel[i].kongxian>>hotel[i].name</p><p> >>hotel[i].ID>>hotel[i].lianxifangshi>>hotel[i].yajin>>hotel[i].yudingriqi>>hotel[i].ruzhushijian</p><p&g
82、t; >>hotel[i].tianshu>>hotel[i].jiezhiriqi;</p><p> if(hotel[i].num==a) //查詢客人房間</p><p><b> b=i;</b></p><p><b> i++;<
83、;/b></p><p><b> }</b></p><p> fin.close();</p><p> cout<<"房間信息為:"<<endl;</p><p> cout<<" 姓名: 押金(元): 入住時間:
84、"<<endl;</p><p> cout<<setw(6)<<hotel[b].name<<setw(8)<<hotel[b].yajin<<setw(20)<<hotel[b].ruzhushijian<<endl;</p><p> cout<<"(注
85、:日期輸入格式 年月日 例如 20120101 )"<<endl;</p><p> cout<<"請輸結(jié)算入日期:";</p><p><b> int d;</b></p><p><b> cin>>d;</b></p><p
86、> hotel[b].jiezhiriqi=d;</p><p><b> int fei;</b></p><p> cout<<"按小時/天數(shù)計費(小時輸入1,天數(shù)輸入2):";</p><p><b> int t;</b></p><p><
87、;b> cin>>t;</b></p><p><b> if(t==2)</b></p><p> fei=hotel[b].yajin-((hotel[b].jiezhiriqi-hotel[b].ruzhushijian)*(hotel[b].jiage/100)); //結(jié)算函數(shù),押金—(結(jié)算時間-入住時間)*價格</
88、p><p><b> else</b></p><p> fei=hotel[b].yajin-((hotel[b].jiezhiriqi-hotel[b].ruzhushijian)*(hotel[b].jiage%100)); //按小時計算</p><p><b> if(fei<0)</b
89、></p><p><b> {</b></p><p><b> fei=-fei;</b></p><p> cout<<"應(yīng)付費用為:"<<fei<<"元"<<endl;</p><p><
90、;b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"總消費金額為:"<<hotel[b].yajin-fei<<"元"<<end
91、l;</p><p> cout<<"押金足夠 應(yīng)返還給您:"<<fei<<"元"<<endl;</p><p><b> }</b></p><p> fstream jsxx("結(jié)算信息.txt",ios::out);</
92、p><p> jsxx<<"消費信息為:"<<endl;</p><p> jsxx<<"姓名:"<<hotel[b].name<<endl<<"押金(元):"<<hotel[b].yajin<<endl<<"入住
93、時間:"<<hotel[b].ruzhushijian<<endl<<"結(jié)算時間:"<<d<<endl;</p><p><b> if(t==2)</b></p><p> jsxx<<"計費方式:按天數(shù)計費"<<endl;<
94、;/p><p><b> else</b></p><p> jsxx<<"計費方式:按小時計費"<<endl;</p><p> jsxx<<"總消費金額為:"<<hotel[b].yajin-fei<<"元"<&l
95、t;endl;</p><p> jsxx<<"押金足夠 應(yīng)返還給您:"<<fei<<"元"<<endl;</p><p> jsxx.close();</p><p> hotel[b].kongxian=0;
96、 //房間結(jié)算后初始化房間信息</p><p> strcpy(hotel[b].name,"0");</p><p> strcpy(hotel[b].ID,"0");</p><p> strcpy(hotel[b].lianxifangshi,"0");</p>
97、<p> hotel[b].yudingriqi=0;</p><p> hotel[b].ruzhushijian=0;</p><p> hotel[b].jiezhiriqi=0;</p><p> hotel[b].yajin=0;</p><p> hotel[b].tianshu=0;</p>
98、<p> hotel[b].jiezhiriqi=0;</p><p> fstream xieru("賓館房間信息.txt",ios::out);//生成文件</p><p> xieru<<"房間號 類型 價格 是否空閑 姓名 身份證號 聯(lián)系方式 押金 預(yù)定日期 入住時間
99、 天數(shù) 截止日期 "<<endl;</p><p> for(i=0;i<20;i++)</p><p><b> {</b></p><p> xieru<<hotel[i].num<<' '<<hotel[i].leixing<<'
100、; '<<hotel[i].jiage<<' '<<hotel[i].kongxian<<' '<<hotel[i].name</p><p> <<' '<<hotel[i].ID<<' '<<hotel[i].lianxifang
101、shi<<' '<<hotel[i].yajin<<' '<<hotel[i].yudingriqi<<' '<<hotel[i].ruzhushijian</p><p> <<' '<<hotel[i].tianshu<<'
102、39;<<hotel[i].jiezhiriqi<<endl; </p><p><b> }</b></p><p> xieru.close();</p><p> system("pause");</p><p><b> }</b><
103、;/p><p> 4.3.3退房結(jié)算模塊測試</p><p> 選擇退房功能輸入房間號則會顯示出客人的基本信息如圖4.10所示;根據(jù)系統(tǒng)提示輸入結(jié)算日期并選擇結(jié)算方式則“結(jié)算結(jié)束”如圖4.11和圖4.12所示。賬單信息存入到磁盤文件當(dāng)中去,如圖4.13所示。</p><p> 圖4.10退房結(jié)算輸入結(jié)算房間號后界面圖</p><p> 圖
104、4.11退房結(jié)算輸入日期界面</p><p> 圖4.12退房結(jié)算完成界面</p><p> 圖4.13退房結(jié)算信息文件</p><p> 五、程序調(diào)試中出現(xiàn)的問題及解決方法</p><p> 在調(diào)試程序過程中頻繁出現(xiàn)的問題就是分號的丟失以及書寫程序中一些最基本的字符要求沒有正確的書寫,導(dǎo)致一個程序里出現(xiàn)了大量的錯誤,在改錯時吸取教訓(xùn)
105、為后期的工作節(jié)省了很多時間,在整個程序運行時,由于有的函數(shù)之定義了,而后面卻沒有見這個函數(shù)寫完,導(dǎo)致整個程序無法運行,開始解決的時候是將此函數(shù)全部清除然后運行整個程序,后來在將函數(shù)寫完整放進大的程序中去進行運行。</p><p> 在入住登記調(diào)試程序時,房間信息顯示出現(xiàn)了無限循環(huán)的情況,經(jīng)過對語句的分析,發(fā)現(xiàn)是后面的i++書寫錯誤導(dǎo)致的,經(jīng)過修改后錯誤排出了。
106、 </p><p> 有時還會出現(xiàn)程序成功運行后,但是在dos界面選擇一些功能時出現(xiàn)無限循環(huán),解決的方法是先看所寫的循環(huán)語句是否出現(xiàn)錯誤,Debug/賓館住宿管理系統(tǒng)
107、.exe : fatal error LNK1120: 1 unresolved externals,運行錯誤提示,也總是出現(xiàn),經(jīng)過上網(wǎng)查詢找出解決方法原因是設(shè)置的參數(shù)有問題。</p><p><b> 六、參考文獻</b></p><p> [1]譚浩強.C++程序設(shè)計.北京:清華大學(xué)出版社. 2011</p><p> [2]鄭莉.C
108、++程序設(shè)計(第三版). 北京:清華大學(xué)出版社. 2005 </p><p> [3]錢能.C++程序設(shè)計教程. 北京:清華大學(xué)出版社. 2004</p><p> [4]武俊亮.visual c++課程設(shè)計與系統(tǒng)開發(fā)案例. 北京:清華出版社</p><p> [5]黃維通.Visual C++程序設(shè)計教程. 北京:清華大學(xué)出版社. 2005 </p&g
109、t;<p><b> 七、附錄:程序代碼</b></p><p> #include<iostream></p><p> #include<iomanip> //輸出流控制</p><p> #include<string></p><p> #inc
110、lude<fstream> //輸入輸出文件流</p><p> using namespace std;</p><p> void search_message();</p><p> void dingfangdengji();</p><p> void ruzhudengji();</p>
111、<p> void tuifang();</p><p> void all_message();</p><p> void empty_message();</p><p> void ruzhixinxi();</p><p> void dingfangxinxi();</p><p>
112、struct hotel //定義結(jié)構(gòu)體</p><p><b> {</b></p><p><b> int num;</b></p><p> char leixing[10];</p><p> int jiage;</p><p> int kong
113、xian;</p><p> char name[20];</p><p> char ID[20];</p><p> char lianxifangshi[15];</p><p> int yajin;</p><p> long yudingriqi;</p><p> lo
114、ng ruzhushijian;</p><p> int tianshu;</p><p> long jiezhiriqi;</p><p><b> }</b></p><p> hotel[20];</p><p> void Menu_Display()</p>
115、<p><b> {</b></p><p> system("cls");</p><p> cout<<"\t\t###########################################"<<endl;</p><p> cout<<
116、"\t\t# @歡迎使用百康賓館管理系統(tǒng)@ #"<<endl;</p><p> cout<<"\t\t# 請輸入您所需要的功能: #"<<endl;</p><p> cout<<"\t\t# 1.客房查詢
117、 2.訂房登記 #"<<endl;</p><p> cout<<"\t\t# 3.入住登記 4.退 房 #"<<endl;</p><p> cout<<"\t\t# 5. 退 出
118、 #"<<endl;</p><p> cout<<"\t\t# 感 * 謝 * 您 * 的 * 使 * 用 #"<<endl;</p><p> cout<<"\t\t###########################################"<
119、<endl;</p><p><b> }</b></p><p> void chushihua()</p><p><b> {</b></p><p> int i[3]={1,0,1},k=0;</p><p> for(;k<20;k++)&l
120、t;/p><p><b> {</b></p><p> hotel[k].num=i[0]*100+i[1]*10+i[2];</p><p> strcpy(hotel[k].ID,"0");</p><p> hotel[k].jiezhiriqi=0;</p><p&g
121、t; hotel[k].kongxian=0;</p><p> strcpy(hotel[k].lianxifangshi,"0");</p><p> strcpy(hotel[k].name,"0");</p><p> hotel[k].ruzhushijian=0;</p><p>
122、 hotel[k].tianshu=0;</p><p> hotel[k].yudingriqi=0;</p><p> switch(i[0])</p><p><b> {</b></p><p> case 1:{hotel[k].jiage=17020;strcpy(hotel[k].leixing,&
123、quot;單人間");break;}</p><p> case 2:{hotel[k].jiage=28030;strcpy(hotel[k].leixing,"雙人間");break;}</p><p> case 3:{hotel[k].jiage=50050;strcpy(hotel[k].leixing,"套房");break
124、;}</p><p><b> }</b></p><p><b> if(k==8)</b></p><p> i[0]++,i[2]=0;</p><p><b> if(k==14)</b></p><p> i[0]++,i[2]=0;
125、</p><p><b> i[2]++;</b></p><p><b> }</b></p><p> fstream xieru("賓館房間信息.txt",ios::out);</p><p> xieru<<"房間號 類型 價格 是否
126、空閑 姓名 身份證號 聯(lián)系方式 押金 預(yù)定日期 入住時間 天數(shù) 截止日期 "<<endl;</p><p> for(int x=0;x<20;x++)</p><p><b> {</b></p><p> xieru<<hotel[x].n
127、um<<' '<<hotel[x].leixing<<' '<<hotel[x].jiage<<' '<<hotel[x].kongxian<<' '<<hotel[x].name</p><p> <<' '<<
128、hotel[x].ID<<' '<<hotel[x].lianxifangshi<<' '<<hotel[x].yajin<<' '<<hotel[x].yudingriqi<<' '<<hotel[x].ruzhushijian</p><p> &l
129、t;<' '<<hotel[x].tianshu<<' '<<hotel[x].jiezhiriqi<<endl; </p><p><b> }</b></p><p> xieru.close();</p><p><b> }</
130、b></p><p> void main()</p><p><b> {</b></p><p><b> int p=0;</b></p><p> cout<<"是否要初始化房間信息?";</p><p> cout&l
131、t;<"(是請輸入1,否請輸入0)"<<endl;</p><p><b> cin>>p;</b></p><p><b> if(p==1)</b></p><p> chushihua();</p><p> int chose;<
132、;/p><p> Menu_Display();</p><p> cout<<"請輸入選項:";</p><p> cin>>chose;</p><p> while(chose!=0)</p><p> {
133、
134、
135、 </p><p> switch(chose)//用switch語句判斷選擇菜單的功能</p><p><b> {</b></p><p> case 1:search_message();break; //客房查詢</p><p> case 2:d
136、ingfangdengji();break;//訂房間</p><p> case 3:ruzhudengji();break;//入住房間</p><p> case 4:tuifang();break;//退房</p><p> case 5:exit(0);</p><p> default:cout<<"
137、輸入錯誤,請重新輸入"<<endl; //提示錯誤命令</p><p><b> }</b></p><p> cout<<"\t\t###########################################"<<endl;</p><p> cout<&
138、lt;"\t\t# @歡迎使用百康賓館管理系統(tǒng)@ #"<<endl;</p><p> cout<<"\t\t# 請輸入您所需要的功能: #"<<endl;</p><p> cout<<"\t\t# 1.客房查詢
139、 2.訂房登記 #"<<endl;</p><p> cout<<"\t\t# 3.入住登記 4.退 房 #"<<endl;</p><p> cout<<"\t\t# 5. 退 出
140、 #"<<endl;</p><p> cout<<"\t\t# 感 * 謝 * 您 * 的 * 使 * 用 #"<<endl;</p><p> cout<<"\t\t###########################################"&
141、lt;<endl;</p><p> cout<<"請輸入選項:";</p><p> cin>>chose;</p><p> while(chose==0)</p><p><b> {</b></p><p> cout<&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賓館住宿管理系統(tǒng)課程設(shè)計
- c++課程設(shè)計賓館客房管理系統(tǒng)
- c++課程設(shè)計報告賓館房間管理系統(tǒng)
- c語言課程設(shè)計--賓館住宿信息管理系統(tǒng)
- 課程設(shè)計--賓館住宿子管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---賓館住宿管理系統(tǒng)
- 中小型賓館住宿管理系統(tǒng)設(shè)計-課程設(shè)計
- c語言課程設(shè)計-賓館管理系統(tǒng)
- c++酒店管理系統(tǒng)課程設(shè)計
- c++酒店管理系統(tǒng)課程設(shè)計
- 銷售管理系統(tǒng)c++課程設(shè)計
- 《c++》課程設(shè)計倉庫管理系統(tǒng)
- c++課程設(shè)計-學(xué)生管理系統(tǒng)
- c++學(xué)生管理系統(tǒng)課程設(shè)計
- c++課程設(shè)計--酒店管理系統(tǒng)
- c++課程設(shè)計--圖書管理系統(tǒng)
- 人事考勤管理系統(tǒng)c++課程設(shè)計
- c++課程設(shè)計-學(xué)生考勤管理系統(tǒng)
- 圖書管理系統(tǒng)c++課程設(shè)計
- c++課程設(shè)計學(xué)生通訊管理系統(tǒng)
評論
0/150
提交評論