![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/452343ff-1846-4c30-b096-668dd7ac7fb6/452343ff-1846-4c30-b096-668dd7ac7fb6pic.jpg)
![c++課程設(shè)計(jì)--酒店客房管理系統(tǒng)_第1頁(yè)](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/452343ff-1846-4c30-b096-668dd7ac7fb6/452343ff-1846-4c30-b096-668dd7ac7fb61.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 計(jì)算機(jī)學(xué)院課程設(shè)計(jì)報(bào)告</p><p> 課程名稱(chēng): C++課程設(shè)計(jì) </p><p> 課 題: 客房管理系統(tǒng) </p><p> 專(zhuān)業(yè)班級(jí): </p><p> 學(xué) 號(hào): </p><p> 姓
2、 名: </p><p> 指導(dǎo)老師: </p><p> 日 期: 2013年7 月3 日 </p><p><b> 目錄</b></p><p> 1.課題簡(jiǎn)介………………………………………03 </p><p>
3、 2.設(shè)計(jì)方案………………………………………04</p><p> 3.具體設(shè)計(jì)及截屏圖……………………………05</p><p> 4.關(guān)鍵代碼分析…………………………………10</p><p> 5.測(cè)試……………………………………………15</p><p> 6.課題總結(jié)與體會(huì)………………………………17</p>
4、<p> 7.參考文獻(xiàn)………………………………………18</p><p> 8.源代碼…………………………………………19</p><p><b> 1.課題簡(jiǎn)介</b></p><p> 客房管理系統(tǒng)是根據(jù)某酒店對(duì)客房管理的實(shí)際情況進(jìn)行編寫(xiě)的,主要目的是為了方便酒店對(duì)客房的實(shí)際情況進(jìn)行集中的查詢(xún)與管理工作,以提高整個(gè)酒店的
5、工作。</p><p> 經(jīng)過(guò)電腦及生活中的調(diào)查研究,根據(jù)客人的經(jīng)濟(jì)水平和生活理念,客房的類(lèi)型已趨向于多樣化,有標(biāo)準(zhǔn)房,單人房,VIP間,甚至總統(tǒng)套房。而初步設(shè)定通過(guò)客房的編號(hào)、類(lèi)型、價(jià)格來(lái)定位一個(gè)客房的管理系統(tǒng)。</p><p> 客房是一個(gè)對(duì)外服務(wù)的內(nèi)容,為了客人的住宿要求,所以系統(tǒng)需要實(shí)現(xiàn)客房信息的錄入、修改和刪除功能。</p><p> 客人對(duì)剩余客房
6、需要進(jìn)行選擇,系統(tǒng)必須實(shí)現(xiàn)相應(yīng)的查詢(xún)、排序和輸出功能,使客人擇優(yōu)而居。</p><p> 主要實(shí)現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢(xún)、排序、輸出??头啃畔⒖蓪?xiě)入文件,也可從文件中讀取。客房信息涉及的數(shù)據(jù)有客房編號(hào)、客房類(lèi)型、住房天數(shù)、訂金、客戶(hù)姓名、客戶(hù)身份證號(hào)碼等。</p><p><b> 2.設(shè)計(jì)方案</b></p>&l
7、t;p> 按照需求分析所得,客房信息系統(tǒng)有以下幾個(gè)功能模塊:</p><p><b> 新建兩個(gè)類(lèi);</b></p><p> 分別為Customer和HolterRoom ,其中Customer為基類(lèi),HolterRoom通過(guò)</p><p> 共有繼承,成為Customer的派生類(lèi)。</p><p>
8、 錄入,增添客房信息;</p><p> 先判斷是否已存在客房信息,如果已存在,則再選擇是否添加;若不存在,則添加客房信息。</p><p><b> 3.修改客房信息;</b></p><p> 讀取保存的客房信息數(shù)據(jù),根據(jù)客房編號(hào)查找所需修改的客房信息,然后根據(jù)具體所需,修改成員參數(shù)。</p><p> 4.
9、刪除客房信息模塊;</p><p> 從保存中的文件中讀取信息,刪除需要?jiǎng)h除的信息,完善現(xiàn)在的客房運(yùn)作。</p><p><b> 5.查詢(xún)客房函數(shù);</b></p><p> 分按編號(hào)、類(lèi)型、客戶(hù)姓名查找客房信息,這樣可以更具有人性化來(lái)選擇所剩余的客房,從而進(jìn)行日常安排。</p><p> 7.輸出剩余客房函數(shù)
10、;</p><p> 輸出根據(jù)系統(tǒng)所需排序后的客房信息,本系統(tǒng)中是根據(jù)了客人入住的有效期即天數(shù)來(lái)及時(shí)了解空出的房間。</p><p> 由上述需求分析可得,系統(tǒng)的功能模塊圖如圖1所示。 圖1</p><p> 2.具體設(shè)計(jì)及截屏圖</p><p><
11、;b> 1、類(lèi)的設(shè)計(jì)</b></p><p> 根據(jù)上述需求分析,有客房類(lèi)和客戶(hù)類(lèi)。</p><p><b> 客戶(hù)類(lèi)</b></p><p> 客戶(hù)類(lèi)中的主要成員有:name為客戶(hù)姓名,ID為客戶(hù)身份證號(hào)碼,money為客戶(hù)訂金,StayTime為將要入住客房時(shí)長(zhǎng)。</p><p><b
12、> ?。?)客房類(lèi)</b></p><p> 客房類(lèi)中的主要成員有:num是客房編號(hào),Type是客房類(lèi)型,Price是客房?jī)r(jià)格, HolterRoom()為客房類(lèi)的構(gòu)造函數(shù),同時(shí)Customer類(lèi)中的成員均是客房類(lèi)的成員。</p><p><b> 2.界面設(shè)計(jì):</b></p><p> (1) 主界面的設(shè)計(jì)</
13、p><p> 主界面中顯示客房管理系統(tǒng)的全部信息,客房信息的錄入,客人入住登記,客房信息的修改,客人退房結(jié)算,查詢(xún)所有客房信息,查詢(xún)(包括按房間號(hào),按房間類(lèi)型,按客戶(hù)姓名查詢(xún),同時(shí)還有輸出所有空房信息),刪除客房信息。</p><p> 酒店客房管理系統(tǒng)如圖1所示。</p><p><b> 圖2 主界面</b></p><
14、;p> (2)分界面:客房信息查詢(xún)?cè)O(shè)計(jì)</p><p> 分別實(shí)現(xiàn)按姓名,按房間號(hào)和按房間類(lèi)型查詢(xún)客房信息的功能,還可實(shí)現(xiàn)輸出所有空房信息的功能。客房信息錄入如圖2所示。</p><p> 圖3錄入客房信息的分界面</p><p> (4)分界面:客房信息的修改的設(shè)計(jì)</p><p> 提示根據(jù)編號(hào)尋找到客房并輸出該客房?jī)?nèi)容,
15、然后詢(xún)問(wèn)用戶(hù)是否要修改客房信息,修改界面如圖所示。</p><p> 圖4 修改客房信息的分界面</p><p> (5)分界面:客房信息的刪除的設(shè)計(jì)</p><p> 提示根據(jù)編號(hào)尋找到客房并輸出該客房?jī)?nèi)容,然后詢(xún)問(wèn)用戶(hù)是否要?jiǎng)h除客房信息</p><p> ,修改界面如圖所示。</p><p> 圖5 刪除
16、客房信息的分界面</p><p> ?。?)分界面:剩余客房信息的查詢(xún)的設(shè)計(jì)</p><p> 在保存完所修改或刪除的客房信息,查詢(xún)剩余的客房信息,可瀏覽所有空房信息。查詢(xún)空房的信息界面如圖6所示。</p><p> 圖6 查詢(xún)客房信息的分界面</p><p> (7)分界面:所有信息的輸出的設(shè)計(jì)</p><p>
17、; 在排序完后的所有客房中,輸出所有客房的信息,以檢驗(yàn)客房的經(jīng)營(yíng)情況。所有客房信息輸出界面如圖7所示。</p><p> 圖7 所有客房的信息</p><p><b> 4.關(guān)鍵代碼分析</b></p><p><b> (1)系統(tǒng)的登錄</b></p><p> 在主函數(shù)中,輸出客房信息
18、系統(tǒng)的各功能提示。選擇需要執(zhí)行功能的序號(hào),由switch判斷和選擇所需要執(zhí)行的功能。</p><p> 選擇1:執(zhí)行客房信息的錄入;</p><p> 選擇2:執(zhí)行客人入住登記;</p><p> 選擇3:執(zhí)行教工客房信息的修改;</p><p> 選擇4:執(zhí)行客人退房結(jié)算;</p><p> 選擇5:執(zhí)行查
19、詢(xún)所有客房信息;</p><p><b> 選擇6:執(zhí)行查詢(xún);</b></p><p> 選擇7:執(zhí)行刪除客房信息;</p><p><b> 選擇8:退出系統(tǒng);</b></p><p><b> 主函數(shù):</b></p><p> int m
20、ain()</p><p><b> { </b></p><p> HolterRoom Room[200]; //創(chuàng)建客房對(duì)象數(shù)組 </p><p><b> int top;</b></p><p> HolterRoom b;</p><p>&l
21、t;b> top=-1;</b></p><p> fstream file("Room.txt",ios::in);</p><p><b> while (1)</b></p><p><b> {</b></p><p> file.read((
22、char *)&b,sizeof(b));</p><p> if (!file) break;</p><p><b> top++;</b></p><p> Room[top]=b;</p><p><b> }</b></p><p> file.c
23、lose(); //讀取文件夾Room.txt中的數(shù)據(jù)</p><p><b> while(1)</b></p><p><b> { </b></p><p> cout<<"\n\n 客房管理系統(tǒng) \n\n";</
24、p><p> cout<<" ---------------------------------- \n\n";</p><p> cout<<" 1.客房信息的錄入 \n\n";</p><p> cout<<&qu
25、ot; 2.客人入住登記 \n\n";</p><p> cout<<" 3.客房信息的修改 \n\n";</p><p> cout<<" 4.客人退房結(jié)算
26、 \n\n";</p><p> cout<<" 5.查詢(xún)所有客房信息 \n\n";</p><p> cout<<" 6.查詢(xún)系統(tǒng) \n\n";</p>&l
27、t;p> cout<<" 7.刪除客房信息 \n\n";</p><p> cout<<" 8.退 出 系 統(tǒng) \n\n";</p><p> cout<<"
28、 請(qǐng)選擇:";</p><p> int choose=0;</p><p> cin>>choose;</p><p> system("cls");</p><p> switch (choose) //用戶(hù)
29、的選擇</p><p><b> { </b></p><p> case 1:set_HolterRoom_info(Room); break; //輸入客房信息</p><p> case 2:set_Customer_info(Room);break; //客人入住登記&
30、lt;/p><p> case 3:Change_HolterRoom_info(Room); break; //修改客房信息</p><p> case 4:SetCount(Room);break; //客戶(hù)退房</p><p> case 5:PrintAll(Room); break; //
31、查詢(xún)所有客房信息</p><p> case 6:Find_choose(Room); break; //查詢(xún)</p><p> case 7:Delete_HolterRoom(Room);break; //刪除客房信息</p><p> case 8:Write(Room);</p><p> Save_Holte
32、rRoom_info(Room);</p><p> Save_Customer_info(Room);</p><p> exit(0); //退出</p><p> default : break;</p><p><b> }</b&g
33、t;</p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> 在讀取數(shù)據(jù)時(shí),可以從以有的文件中讀取數(shù)據(jù)到程序中,避免了程序的重復(fù)輸入數(shù)據(jù),既實(shí)現(xiàn)了程序的多次可持續(xù)地使用,又有利于
34、后面的信息修改、刪除等功能。</p><p> void Read(HolterRoom *Room) //讀取數(shù)據(jù)庫(kù)</p><p><b> int top;</b></p><p> HolterRoom b;</p><p><b> top=-1;</b></p>
35、<p> fstream file("Room.txt",ios::in); //創(chuàng)建一個(gè)輸入文件流對(duì)象,讀取文件夾Room.txt中的數(shù)據(jù)。</p><p><b> while (1)</b></p><p><b> {</b></p><p> file.read((char
36、*)&b,sizeof(b));</p><p> if (!file) break;</p><p><b> top++;</b></p><p> Room[top]=b;</p><p> }; </p><p> file.close()
37、;//關(guān)閉文件</p><p><b> ?。?)信息的添加</b></p><p> 客房信息的錄入,創(chuàng)建HolterRoom類(lèi)和Room對(duì)象數(shù)組 ,調(diào)用構(gòu)造函數(shù),輸入客房的房間編號(hào)、房間類(lèi)型、定房日期、房間價(jià)格、房間內(nèi)容及個(gè)人的入住有效期。 </p><p> void set_HolterRoom_info(HolterRoom *R
38、oom)</p><p> if(Room[0].num==0)</p><p><b> {</b></p><p><b> int size;</b></p><p> cout<<"暫無(wú)房間信息,請(qǐng)?zhí)砑樱?quot;<<endl;</p>
39、<p> static int Number=700;</p><p> cout<<"請(qǐng)輸入要添加的房間數(shù):";</p><p> cin>>size;</p><p> for(int i=0;i<size;i++)</p><p><b> {</
40、b></p><p> Room[i].num=Number++;</p><p> cout<<"房間號(hào)碼:"<<Room[i].num;cout<<endl;</p><p> cout<<"房間類(lèi)型:";</p><p> cin>
41、;>Room[i].Type;</p><p> cout<<"房間價(jià)格:";</p><p> cin>>Room[i].Price;</p><p> cout<<endl<<endl;</p><p><b> };</b></
42、p><p> cout<<"客房信息錄入成功!"<<endl<<endl;</p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p>
43、<p><b> string P;</b></p><p> cout<<"客房信息已有,是否要添加房間?(Y/N)";</p><p><b> cin>>P;</b></p><p> if(P=="Y")</p>&l
44、t;p> add_HolterRoom_info(Room);</p><p> else if(P=="N")</p><p> cout<<"已取消房間添加."<<endl<<endl;</p><p> else cout<<"此操作非法!"
45、;<<endl<<endl;</p><p><b> };</b></p><p> system("pause");</p><p> system("cls");</p><p><b> };</b></p>
46、<p><b> ?。?)信息的刪除</b></p><p> 刪除客房信息,按要求提示輸入要?jiǎng)h除客房的房間編號(hào),通過(guò)for循環(huán)和if語(yǔ)句尋找到要?jiǎng)h除的客房,并顯示其信息,然后詢(xún)問(wèn)用戶(hù)是否要?jiǎng)h除客房信息,通過(guò) if語(yǔ)句進(jìn)行判斷,若輸入“Y”則刪除,并顯示刪除成功,若為“N”</p><p> ,則取消刪除,輸入其他均顯示“非法操作!”。&l
47、t;/p><p> void Delete_HolterRoom(HolterRoom *Room)</p><p><b> {</b></p><p><b> int Num;</b></p><p> cout<<"請(qǐng)輸入要?jiǎng)h除的房間號(hào):";</p&
48、gt;<p><b> cin>>Num;</b></p><p> for(int i=0;i<30;i++)</p><p> if(Room[i].num==Num )</p><p><b> {</b></p><p><b> stri
49、ng B;</b></p><p> cout<<"房間已找到:"<<endl;</p><p> cout<<"房間類(lèi)型:";</p><p> cout<<Room[i].Type<<endl;</p><p> cou
50、t<<"房間價(jià)格:";</p><p> cout<<Room[i].Price<<endl;</p><p> cout<<"客戶(hù)信息:"<<endl;</p><p> cout<<"客戶(hù)身份證號(hào)碼:";</p>
51、<p> cout<<Room[i].ID<<endl;</p><p> cout<<"客戶(hù)姓名:";</p><p> cout<<Room[i].name<<endl;</p><p> cout<<"訂金";</p>
52、<p> cout<<Room[i].money<<endl;</p><p> cout<<"確定要?jiǎng)h除客房信息?(Y/N)";</p><p> cin>>B;cout<<endl;</p><p> if(B=="Y")</p>
53、<p><b> {</b></p><p> Room[i].Type="null";</p><p> Room[i].num=0;</p><p> Room[i].Price="0";</p><p> Room[i].money=0;</p&
54、gt;<p> Room[i].StayTime=0;</p><p> Room[i].name="無(wú)";</p><p> Room[i].ID="0";</p><p> cout<<"刪除成功!"<<endl;</p><p>&
55、lt;b> }</b></p><p> else if(B=="N")</p><p><b> {</b></p><p> cout<<"取消刪除。"<<endl;</p><p><b> }</b>
56、</p><p> else cout<<"非法的操作!"<<endl;</p><p><b> };</b></p><p> system("pause");</p><p> system("cls");</p>
57、;<p><b> };</b></p><p><b> ?。?)信息的修改</b></p><p> 修改客房信息,按要求提示輸入要修改客房的房間編號(hào),通過(guò)for循環(huán)和if語(yǔ)句尋找到要修改的客房,并顯示其信息,然后詢(xún)問(wèn)用戶(hù)是否要修改客房信息,通過(guò) if語(yǔ)句進(jìn)行判斷,若輸入“Y”則進(jìn)行逐條修改,若為“N”</p
58、><p> ,則取消修改,輸入其他均顯示“非法操作!”。</p><p> void Change_HolterRoom_info(HolterRoom *Room)</p><p><b> {</b></p><p><b> int Num;</b></p><p>
59、; cout<<"請(qǐng)輸入要修改的房間號(hào)碼:"<<endl;</p><p><b> cin>>Num;</b></p><p> string _name;</p><p> string _ID;</p><p> int _money;</p&
60、gt;<p> int _StayTime;</p><p> string _Price;</p><p> string _Type;</p><p><b> int t=0;</b></p><p> for(int i=0;i<30;i++)</p><p>
61、;<b> {</b></p><p> if(Num==Room[i].num)</p><p><b> {</b></p><p> cout<<"房間類(lèi)型:";</p><p> cout<<Room[i].Type<<end
62、l;</p><p> cout<<"房間價(jià)格:";</p><p> cout<<Room[i].Price<<endl;</p><p> cout<<"客戶(hù)姓名:";</p><p> cout<<Room[i].name;cou
63、t<<endl;</p><p> cout<<"客戶(hù)身份證號(hào)碼:";</p><p> cout<<Room[i].ID;cout<<endl;</p><p> cout<<"訂金:";</p><p> cout<<R
64、oom[i].money;</p><p> cout<<"將于"<<Room[i].StayTime<<"天后退房。"<<endl;</p><p> cout<<"房間信息已找到!"<<endl;</p><p> cout&
65、lt;<"是否確定要修改房間信息?(Y/N)";</p><p><b> string p;</b></p><p><b> cin>>p;</b></p><p> if(p=="Y")</p><p><b> {&
66、lt;/b></p><p> cout<<"客戶(hù)姓名:";</p><p> cin>>_name;</p><p> Room[i].name=_name;</p><p> cout<<endl;</p><p> cout<<&
67、quot;客戶(hù)身份證號(hào)碼:";</p><p><b> cin>>_ID;</b></p><p> Room[i].ID=_ID;</p><p> cout<<endl;</p><p> cout<<"訂金:";</p>&l
68、t;p> cin>>_money;</p><p> Room[i].money=_money;</p><p> cout<<"退房時(shí)間延長(zhǎng)至";cin>>_StayTime;cout<<"天后";</p><p> Room[i].StayTime=_StayT
69、ime;</p><p> cout<<endl;</p><p> Save_Customer_info(Room);</p><p> cout<<"修改成功!"<<endl<<endl;</p><p><b> }</b></p&g
70、t;<p> else if(p=="N") cout<<"已取消修改。";</p><p> else cout<<"操作非法!";</p><p><b> t++;</b></p><p><b> }</b>&
71、lt;/p><p> else if(t==0 && i==29 && Room[i].Type=="null")</p><p> cout<<"查無(wú)此房!"<<endl<<endl;</p><p><b> };</b></
72、p><p> system("pause");</p><p> system("cls");</p><p><b> };</b></p><p><b> 5.測(cè)試</b></p><p> 程序測(cè)試是將編制的程序投入實(shí)際運(yùn)
73、行前,用手工或編譯程序等方法進(jìn)行測(cè)試,修正語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤的過(guò)程。</p><p><b> 原程序:</b></p><p> void add_HolterRoom_info(HolterRoom *Room) //添加房間</p><p> static int Number=700;</p><p>
74、;<b> string k;</b></p><p><b> do{</b></p><p><b> int i=5;</b></p><p> Room[i].num=Number++;</p><p> cout<<"房間號(hào)碼:&qu
75、ot;<<Room[i].num;cout<<endl;</p><p> cout<<"房間類(lèi)型:";</p><p> cin>>Room[i].Type;</p><p> cout<<"房間價(jià)格:";</p><p> cin&
76、gt;>Room[i].Price;</p><p> cout<<endl<<endl;</p><p> cout<<"添加成功!";</p><p> cout<<"是否要繼續(xù)添加?(Y/N):";</p><p><b>
77、cin>>k;</b></p><p><b> i++;</b></p><p> }while(k=="Y");</p><p> if (k=="N"){}</p><p> else cout<<"此操作非法!"
78、;;</p><p> 編譯成功后開(kāi)始運(yùn)行,信息錄入后,第一次調(diào)用函數(shù)可以正確添加房間信息,但第二次調(diào)用后,會(huì)覆蓋第一次的記錄,無(wú)法正確添加房間;經(jīng)思索后,發(fā)現(xiàn)加入個(gè)for循環(huán),并對(duì)每一房間進(jìn)行判斷,確定為未賦值再進(jìn)行房間的添加便可。</p><p> void add_HolterRoom_info(HolterRoom *Room)</p><p><
79、b> {</b></p><p><b> string P;</b></p><p><b> do{</b></p><p> int Number=700;</p><p> for(int i=0;i<30;i++)</p><p>
80、;<b> {</b></p><p> if(Room[i].num==0)</p><p><b> {</b></p><p> Room[i].num=Number++;</p><p> cout<<"房間號(hào)碼:"<<Room[i].n
81、um;cout<<endl;</p><p> cout<<"房間類(lèi)型:";</p><p> cin>>Room[i].Type;cout<<endl;</p><p> cout<<"房間價(jià)格:";</p><p> cin>
82、>Room[i].Price;</p><p> cout<<endl<<endl;</p><p> cout<<"房間添加成功,是否繼續(xù)添加?(Y/N):";</p><p> cin>>P;break;</p><p><b> }</b&
83、gt;</p><p> else Number++;</p><p><b> };</b></p><p> }while(P=="Y");</p><p> if(P=="N")</p><p> cout<<"已取消添
84、加。"<<endl<<endl;</p><p> else cout<<"此操作非法!"<<endl<<endl;</p><p><b> };</b></p><p><b> 6.課題總結(jié)與體會(huì)</b></p>
85、;<p> 短學(xué)期的課程設(shè)計(jì)是一次非常珍貴的機(jī)會(huì),這是一次可以讓我們所學(xué)的理論與實(shí)</p><p> 際相結(jié)合的機(jī)會(huì)。通過(guò)這次比較完整的一個(gè)程序的設(shè)計(jì),我走出了純理論的學(xué)習(xí),</p><p> 從一種全新的角度去學(xué)習(xí)。</p><p> 其實(shí)個(gè)人而言,我體會(huì)較深的一點(diǎn)是團(tuán)隊(duì)互相幫助學(xué)習(xí)的過(guò)程,自己看書(shū)學(xué)</p><p>
86、 習(xí)的經(jīng)驗(yàn),以及從網(wǎng)上以及其他各種途徑獲得信息和知識(shí)的經(jīng)驗(yàn)。理論與實(shí)際相結(jié)</p><p> 合的設(shè)計(jì),鍛煉了我綜合運(yùn)用所學(xué)的基礎(chǔ)知識(shí),解決實(shí)際問(wèn)題的能力,同時(shí)也提高</p><p> 我查閱文獻(xiàn)資料、對(duì)程序整體的把握等其他能力水平。而且通過(guò)對(duì)整體的掌控,對(duì)</p><p> 局部的取舍,都使我的能力得到了鍛煉,我的各方面經(jīng)驗(yàn)都得到了極大的豐富。</p
87、><p> 在面對(duì)各種陌生知識(shí)的時(shí)候,隊(duì)友的耐心與任性,對(duì)于知識(shí)的渴求,對(duì)于工作的</p><p> 專(zhuān)注,極大程度上鼓舞了我。我們?cè)诮涣髦?,迸發(fā)出了很多設(shè)計(jì)靈感,互相建議改</p><p> 進(jìn)的過(guò)程中,我們分別從各個(gè)方面共同改進(jìn)著,這個(gè)已經(jīng)不能僅僅稱(chēng)作課程設(shè)計(jì)的</p><p><b> 作品。</b></
88、p><p> 從知識(shí)獲得方面來(lái)說(shuō),各種已經(jīng)學(xué)習(xí)到的C++知識(shí)以及各種從網(wǎng)上搜索來(lái)的案例,</p><p> 我們都是隨著設(shè)計(jì)的不斷深入而不斷熟悉的。和老師以及同學(xué)的溝通交流更使我對(duì)</p><p> 程序整體的規(guī)劃與設(shè)計(jì)有了新的認(rèn)識(shí),也對(duì)自己提出了新的要求。提高是有限的但</p><p> 提高也是全面的。正是這一次設(shè)計(jì)讓我積累了許多實(shí)際
89、經(jīng)驗(yàn)。也必然會(huì)讓我在未來(lái)</p><p> 的工作學(xué)習(xí)中表現(xiàn)出更高的耐力、理解力、實(shí)踐力。順利如期的完成本次課程設(shè)計(jì)</p><p> 給了我很大的信心,但是也為我指出很多不足的地方。學(xué)習(xí)其實(shí)就是一個(gè)不斷完善</p><p> 的過(guò)程,正視自己的不足之處。在以后的工作和學(xué)習(xí)中不斷的彌補(bǔ)這些不足之處,</p><p> 在以后的生活中也
90、要保持同樣的態(tài)度,不斷地完善自己。</p><p><b> 7.參考文獻(xiàn)</b></p><p> 【1】鄭莉.《C++教程》.人民郵電出版社.</p><p> 【2】譚浩強(qiáng).《C語(yǔ)言程序設(shè)計(jì)》.清華大學(xué)出版社.</p><p> 【3】沈紀(jì)新.《Visual C++使用速成》.清華大學(xué)出版社.</p&
91、gt;<p><b> 8.源代碼</b></p><p> //客房管理系統(tǒng)主要實(shí)現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢(xún)、排序、輸出??头啃畔⒖蓪?xiě)入文件,也可從文件中讀取。</p><p> /* 系統(tǒng)的登錄 信息的添加 信息的刪除 信息的修改 */</p><p> #incl
92、ude<iostream></p><p> #include<string></p><p> #include<fstream></p><p> using namespace std;</p><p> const int Maxb=30;</p><p> cla
93、ss Customer</p><p><b> {</b></p><p><b> public:</b></p><p> string name;</p><p> string ID;</p><p> int money;</p><
94、p> int StayTime;</p><p> Customer(){};</p><p><b> };</b></p><p> class HolterRoom:public Customer</p><p><b> {</b></p><p>&
95、lt;b> public:</b></p><p><b> int num;</b></p><p> string Price;</p><p> string Type;</p><p> HolterRoom()</p><p><b> {<
96、/b></p><p><b> num=0;</b></p><p> Price="0";</p><p> Type="null";</p><p><b> money=0;</b></p><p> StayT
97、ime=0;</p><p><b> name="無(wú)";</b></p><p><b> ID="0";</b></p><p><b> };</b></p><p> ~HolterRoom(){};</p>
98、<p><b> };</b></p><p> ofstream Str("客房信息.txt",ios_base::trunc);</p><p> ofstream C("客戶(hù)信息.txt",ios_base::trunc);</p><p> void set_Customer_
99、info(HolterRoom *Room);</p><p> void set_HolterRoom_info(HolterRoom *Room);</p><p> void find_HolterRoomByNum(HolterRoom *Room);</p><p> void Display_HolterRoom_info(HolterRoom *
100、Room);</p><p> void add_HolterRoom_info(HolterRoom *Room);</p><p> void find_HolterRoomByName(HolterRoom *Room);</p><p> void find_HolterRoomByType(HolterRoom *Room);</p>
101、<p> void PrintAll(HolterRoom *Room);</p><p> void Change_HolterRoom_info(HolterRoom *Room);</p><p> void SetCount(HolterRoom *Room);</p><p> void Delete_HolterRoom(HolterR
102、oom * Room);</p><p> void Find_choose(HolterRoom * Room);</p><p> void Save_HolterRoom_info(HolterRoom * Room);</p><p> void Save_Customer_info(HolterRoom * Room);</p><
103、;p> void Write(HolterRoom *Room);</p><p> void Read(HolterRoom *Room);</p><p> void Save_HolterRoom_info(HolterRoom * Room)</p><p><b> {</b></p><p>
104、 for(int i=0;i<30;i++)</p><p><b> {</b></p><p> if(Room[i].num!=0)</p><p><b> {</b></p><p> Str<<"房間號(hào)碼:"<<Room[i]
105、.num<<"\t"</p><p> <<"房間類(lèi)型:"<<"\t"</p><p> <<Room[i].Type<<"\t"</p><p> <<"房間價(jià)格:"<<&qu
106、ot;\t"</p><p> <<Room[i].Price<<endl<<endl;</p><p><b> };</b></p><p><b> };</b></p><p><b> };</b></p&g
107、t;<p> void Save_Customer_info(HolterRoom * Room)</p><p><b> {</b></p><p> for(int i=0;i<30;i++)</p><p><b> {</b></p><p> if(Room
108、[i].num!=0 && Room[i].name!="無(wú)")</p><p><b> {</b></p><p> C<<"房間類(lèi)型:";</p><p> C<<Room[i].Type<<endl;</p><p&
109、gt; C<<"房間價(jià)格:";</p><p> C<<Room[i].Price<<endl;</p><p> C<<"客戶(hù)身份證號(hào)碼:";</p><p> C<<Room[i].ID<<endl;</p><p>
110、 C<<"客戶(hù)姓名:";</p><p> C<<Room[i].name<<endl;</p><p><b> C<<"訂金";</b></p><p> C<<Room[i].money<<endl;</p>
111、<p> C<<"入住天數(shù):";C<<Room[i].StayTime;C<<"天"<<endl<<endl;</p><p><b> };</b></p><p><b> };</b></p><p>
112、;<b> };</b></p><p> void Display_HolterRoom_info(HolterRoom *Room)</p><p><b> {</b></p><p><b> int t=0;</b></p><p> for(int i=0
113、;i<30;i++)</p><p><b> {</b></p><p> if(Room[i].StayTime==0 && Room[i].num!=0)</p><p><b> {</b></p><p> cout<<"房間號(hào)碼:&qu
114、ot;;</p><p> cout<<Room[i].num<<"\t";</p><p> cout<<"房間類(lèi)型:";</p><p> cout<<Room[i].Type<<"\t";</p><p> c
115、out<<"房間價(jià)格:";</p><p> cout<<Room[i].Price<<endl;</p><p><b> t++;</b></p><p><b> }</b></p><p> else if(t==0&&
116、amp;i==29)cout<<"暫無(wú)空房!";</p><p><b> };</b></p><p> system("pause");</p><p> system("cls");</p><p><b> };</b
117、></p><p> void Find_choose(HolterRoom *Room)</p><p><b> {</b></p><p><b> int P=0;</b></p><p> while(P==0)</p><p><b>
118、{ </b></p><p> cout<<"\n\n 客房管理系統(tǒng) \n\n";</p><p> cout<<" ---------------------------------- \n\n";</p><p>
119、 cout<<" 1.通過(guò)房號(hào)查詢(xún)客房 \n\n";</p><p> cout<<" 2.通過(guò)類(lèi)型查詢(xún)客房 \n\n";</p><p> cout<<"
120、 3.通過(guò)客戶(hù)姓名查詢(xún)客房 \n\n";</p><p> cout<<" 4.查詢(xún)所有空房 \n\n";</p><p> cout<<" 5.返回主菜單
121、 \n\n";</p><p> cout<<" 請(qǐng)選擇:";</p><p> int choose=0;</p><p> cin>>choose;</p><p> system("cls");</p><p
122、> switch (choose) //用戶(hù)的選擇</p><p><b> { </b></p><p> case 1:find_HolterRoomByNum(Room); break; //輸入客房信息</p><p>
123、 case 2:find_HolterRoomByType(Room);break; //客人入住登記</p><p> case 3:find_HolterRoomByName(Room); break; //修改客房信息</p><p> case 4:Display_HolterRoom_info(Room);break;
124、 //客戶(hù)退房</p><p> case 5:P=5;break; </p><p> default :; break;</p><p><b> }</b></p><p><b> };</b></p><p><
125、b> };</b></p><p> void Delete_HolterRoom(HolterRoom *Room)</p><p><b> {</b></p><p><b> int Num;</b></p><p> cout<<"請(qǐng)輸入要
126、刪除的房間號(hào):";</p><p><b> cin>>Num;</b></p><p> for(int i=0;i<30;i++)</p><p> if(Room[i].num==Num )</p><p><b> {</b></p><
127、;p><b> string B;</b></p><p> cout<<"房間已找到:"<<endl;</p><p> cout<<"房間類(lèi)型:";</p><p> cout<<Room[i].Type<<endl;</
128、p><p> cout<<"房間價(jià)格:";</p><p> cout<<Room[i].Price<<endl;</p><p> cout<<"客戶(hù)信息:"<<endl;</p><p> cout<<"客戶(hù)身份證
129、號(hào)碼:";</p><p> cout<<Room[i].ID<<endl;</p><p> cout<<"客戶(hù)姓名:";</p><p> cout<<Room[i].name<<endl;</p><p> cout<<&quo
130、t;訂金";</p><p> cout<<Room[i].money<<endl;</p><p> cout<<"確定要?jiǎng)h除客房信息?(Y/N)";</p><p> cin>>B;cout<<endl;</p><p> if(B==&qu
131、ot;Y")</p><p><b> {</b></p><p> Room[i].Type="null";</p><p> Room[i].num=0;</p><p> Room[i].Price="0";</p><p> Ro
132、om[i].money=0;</p><p> Room[i].StayTime=0;</p><p> Room[i].name="無(wú)";</p><p> Room[i].ID="0";</p><p> cout<<"刪除成功!"<<endl;&
133、lt;/p><p><b> }</b></p><p> else if(B=="N")</p><p><b> {</b></p><p> cout<<"取消刪除。"<<endl;</p><p>&
134、lt;b> }</b></p><p> else cout<<"非法的操作!"<<endl;</p><p><b> };</b></p><p> system("pause");</p><p> system("
135、;cls");</p><p><b> };</b></p><p> void SetCount(HolterRoom *Room)</p><p><b> {</b></p><p><b> int Num;</b></p><p
136、><b> int t=0;</b></p><p> cout<<"請(qǐng)輸入房間號(hào)碼:";</p><p><b> cin>>Num;</b></p><p> for(int i=0;i<30;i++)</p><p><b&
137、gt; {</b></p><p> if(Num==Room[i].num && Room[i].StayTime!=0)</p><p><b> {</b></p><p><b> string B;</b></p><p> cout<<&
138、quot;房間已找到:"<<endl;</p><p> cout<<"房間類(lèi)型:";</p><p> cout<<Room[i].Type<<endl;</p><p> cout<<"房間價(jià)格:";</p><p> c
139、out<<Room[i].Price<<endl;</p><p> cout<<"客戶(hù)信息!:"<<endl;</p><p> cout<<"客戶(hù)身份證號(hào)碼:";</p><p> cout<<Room[i].ID<<endl;<
140、;/p><p> cout<<"客戶(hù)姓名:";</p><p> cout<<Room[i].name<<endl;</p><p> cout<<"訂金:";</p><p> cout<<Room[i].money<<end
141、l;</p><p> cout<<"入住天數(shù):";cout<<Room[i].StayTime;;cout<<"天.";</p><p> cout<<endl;</p><p> cout<<"請(qǐng)確定是否要退房(Y/N):";</p
142、><p><b> cin>>B;</b></p><p> if(B=="Y")</p><p><b> {</b></p><p> Room[i].StayTime=0;</p><p> Room[i].money=0;<
143、/p><p> Room[i].name="無(wú)";</p><p> Room[i].ID="0";</p><p> cout<<"退房成功!"<<endl;</p><p><b> }</b></p><p&
144、gt; else if(B=="N")</p><p><b> {</b></p><p> cout<<"取消退房。"<<endl;</p><p><b> }</b></p><p> else cout<<
145、;"非法的操作!"<<endl;</p><p><b> t++;</b></p><p><b> }</b></p><p> else if(Num==Room[i].num && Room[i].StayTime==0)</p><p>
146、;<b> {</b></p><p> cout<<"此房為空房!";</p><p><b> t++;</b></p><p><b> }</b></p><p> else if(t==0 && i==29 &
147、amp;& Room[i].Type=="null")</p><p> cout<<"查無(wú)此房!";</p><p><b> };</b></p><p> system("pause");</p><p> system(&qu
148、ot;cls");</p><p><b> };</b></p><p> void add_HolterRoom_info(HolterRoom *Room)</p><p><b> {</b></p><p> static int Number=700;</p>
149、;<p><b> string P;</b></p><p><b> do{</b></p><p> int Number=700;</p><p> for(int i=0;i<30;i++)</p><p><b> {</b><
150、/p><p> if(Room[i].num==0)</p><p><b> {</b></p><p> Room[i].num=Number++;</p><p> cout<<"房間號(hào)碼:"<<Room[i].num;cout<<endl;</p&
151、gt;<p> cout<<"房間類(lèi)型:";</p><p> cin>>Room[i].Type;cout<<endl;</p><p> cout<<"房間價(jià)格:";</p><p> cin>>Room[i].Price;</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)-酒店客房管理系統(tǒng)
- 酒店客房管理系統(tǒng)課程設(shè)計(jì)
- 酒店客房管理系統(tǒng)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)-酒店客房管理系統(tǒng)說(shuō)明書(shū)
- c語(yǔ)言課程設(shè)計(jì)酒店客房管理系統(tǒng)說(shuō)明書(shū)
- 酒店客房管理系統(tǒng)設(shè)計(jì)
- 酒店客房管理系統(tǒng)設(shè)計(jì)資料
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---酒店客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 酒店客房管理系統(tǒng)設(shè)計(jì)報(bào)告
- 酒店客房管理系統(tǒng)ssh
- 酒店客房管理系統(tǒng).pdf
- 酒店客房管理控制
- 酒店客房管理手冊(cè)
- 酒店客房管理系統(tǒng)設(shè)計(jì)【開(kāi)題報(bào)告】
- 酒店客房管理系統(tǒng)—畢業(yè)設(shè)計(jì)
- 酒店客房管理系統(tǒng)設(shè)計(jì)【文獻(xiàn)綜述】
- 酒店客房管理系統(tǒng)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論