版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 題目: 賓館房間管理系統(tǒng) </p><p> 學(xué) 號(hào): </p><p> 姓 名: </p><p> 班 級(jí): </p><p> 專 業(yè): 信息工程 </p>&l
2、t;p> 課程名稱: C++面向?qū)ο蟪绦蛟O(shè)計(jì) </p><p> 課程老師: </p><p><b> 二零一三年六月</b></p><p><b> 目錄</b></p><p> <1>賓館房間管理系統(tǒng)實(shí)現(xiàn)要求………………………
3、…………3</p><p> <2>賓館房間管理系統(tǒng)使用流程及流程圖展示…………………3</p><p> <3>系統(tǒng)中功能函數(shù)設(shè)計(jì)的解讀…………………………………5</p><p> <4>系統(tǒng)運(yùn)行截圖(顯示系統(tǒng)全部功能)………………………12</p><p> <5>系統(tǒng)設(shè)計(jì)心得體會(huì)
4、……………………………………………15</p><p> 一、賓館房間管理系統(tǒng)實(shí)現(xiàn)要求</p><p> <1>實(shí)現(xiàn)客戶房間入住;</p><p> <2>實(shí)現(xiàn)客戶房間退出;</p><p><b> <3>查詢功能;</b></p><p> <
5、;4>會(huì)員特權(quán),特定的選擇房間;</p><p> <5>系統(tǒng)正常退出,經(jīng)過多次測(cè)試系統(tǒng)運(yùn)行穩(wěn)定,未出現(xiàn)運(yùn)行異常。</p><p> 二、賓館房間管理系統(tǒng)使用流程及流程圖展示</p><p> 1.入住,如果人數(shù)大于賓館容納人數(shù)返回主界面,否則要求用戶輸入姓名、身份證號(hào)、性別等信息,之后輸入入住天數(shù),然后顯示入住信息(房?jī)r(jià)100元每天,并在后
6、臺(tái)把房間使用情況即roomid數(shù)組中對(duì)應(yīng)元素置1,1表示入住0表示未入住,顯示一共應(yīng)該繳納的費(fèi)用(包括押金),歡迎提示信息后返回主界面。</p><p> 2、退房,首先輸入房號(hào),如果檢測(cè)到房間沒入住,輸出提示"welcome to hotal using< "<<id<<" >room"(這里的id表示房間號(hào))返回主界面,否則輸入實(shí)際
7、入住天數(shù),結(jié)賬顯示賬單,返回主界面。</p><p> 3、查詢功能,按照房間是否入住,使用roomid數(shù)組中的0,1標(biāo)志判斷,如果是1,則提示"have been using!",如果是0,則提示"welcome to hotal using< "<<id<<" >room",id表示房間號(hào),并都返回主界面。<
8、;/p><p> 4、貴賓特權(quán),貴賓特權(quán)的唯一好處是能夠自己選擇自己喜愛的房間,當(dāng)然,如果房間已經(jīng)有人入住則不能強(qiáng)求并輸出提示信息要求重新選擇,知道選擇到自己比較滿意的房間為止,不過如果不想選的話,中途也可以放棄,也就是說放棄特權(quán)由系統(tǒng)幫您選擇,選擇房號(hào)后,按規(guī)定程序入住。</p><p> 5、退出,退出系統(tǒng)。</p><p> 三、系統(tǒng)中功能函數(shù)設(shè)計(jì)的解讀&l
9、t;/p><p><b> 1、頭文件的引入</b></p><p> <1>基本輸入輸出頭文件iostream</p><p> <2>具有空格功能頭文件iomanip</p><p><b> 2、宏定義</b></p><p> 我認(rèn)為這一
10、部分相當(dāng)重要,這里要特別說明,我使用N表示單人房房間量,使用M表示雙人間房間量,T表示用戶輸入時(shí)名字長(zhǎng)度分配。由于我事先考慮到賓館的擴(kuò)建與維護(hù)及一些突發(fā)事件,當(dāng)出現(xiàn)以上癥狀只要直接修改這里,一切便得到解決,還有就是說道雙人間的問題,系統(tǒng)并沒有實(shí)現(xiàn)雙人間,但是單人間和雙人間的操作完全無多大區(qū)別,功能函數(shù)使用情況也幾乎相同,而且我使用的是單人間和雙人間分開成兩個(gè)數(shù)組來處理的,可以說是毫無關(guān)系,增加雙人間功能實(shí)現(xiàn)擴(kuò)充起來相當(dāng)容易,這些在兩個(gè)類
11、中也都有定義,只是為賓館以后做好準(zhǔn)備。</p><p><b> 3、類的實(shí)現(xiàn)與繼承</b></p><p> 在這個(gè)系統(tǒng)設(shè)計(jì)時(shí),我定義了兩個(gè)類,一個(gè)是person類,另一個(gè)是room類,其中,room和person類是繼承關(guān)系,其中,person是父類,room是子類,為了繼承的方便,本來想定義為private模式后來被改為protected模式,目的是為了在r
12、oom類中調(diào)用用戶信息顯示系統(tǒng)的完善性,</p><p> 首先是在person類中,因?yàn)榉块g總量是固定不變的,count是用來計(jì)算房間占用情況的,如果count=N,則提示"sorry!Don't have any room!",否則輸入姓名等信息入住,而且在構(gòu)造函數(shù)開始把count置-1,name屬性使用二維數(shù)組方便用戶寫入及系統(tǒng)讀取,person類中定義了一個(gè)功能函數(shù)choic
13、e()為int類型,int類型為賓館無房間提供時(shí)返回之用,。</p><p> room類中k表示房間號(hào),roomid為房間數(shù)組,day為開始準(zhǔn)備入住時(shí)的天數(shù),day1為結(jié)帳時(shí)實(shí)際入住天數(shù),使用這兩個(gè)數(shù)組的目的是可能用戶會(huì)在中途退房,如果中途退房,天數(shù)就發(fā)揮了作用,還有就是用戶超期這里也能為賓館得到利潤(rùn)保障,fail數(shù)組用來存放開房金額,結(jié)賬時(shí)如果用戶未破壞財(cái)物,正常結(jié)賬,如果結(jié)賬顯示為負(fù)數(shù),則表示賓館該歸還用
14、戶金額,否則提示用戶還需繳納金額。</p><p> 這里很多未使用數(shù)組是為以后擴(kuò)充雙人間做準(zhǔn)備,在room類中程序主要函數(shù)功能基本上里定義嗎,下面一一講述:</p><p> <1>room():構(gòu)造函數(shù)首先把k(房間號(hào))置0;</p><p> <2>void init():程序初始化之前提到的數(shù)組;</p><
15、p> <3>void disproom():顯示房間使用情況,1表示使用,0表示未使用;</p><p> <4>void exit1():退房,count減1操作;</p><p> <5>void getday():用戶入住房間入口函數(shù),其中包括輸入用戶信息getname()調(diào)用,還要求輸入入住天數(shù),顯示初始賬單;</p>
16、<p> <6>int getday1(int):最后結(jié)賬時(shí)使用,也就是輸入實(shí)際天數(shù)時(shí),和入住時(shí)進(jìn)行比較,得到一個(gè)天數(shù)只差,為結(jié)賬做好準(zhǔn)備;</p><p> <7>bool find(int):房間的查詢功能的實(shí)現(xiàn),并返回一個(gè)bool值;</p><p> <8>void getnamme(int):輸入用戶信息;</p>
17、<p> <9>void dispacount(int):顯示賬單信息;</p><p> <10>void fishman(int):貴賓特權(quán)操作函數(shù);</p><p> void fishman(int)函數(shù)的實(shí)現(xiàn)</p><p> void room::fishman(int i)</p><p&
18、gt;<b> {</b></p><p> if(find(i))</p><p><b> {</b></p><p><b> int id=i;</b></p><p> getday1(id);</p><p> //aa.getd
19、ay();</p><p> cout<<endl<<"welcome! remenble your roomid!"<<endl;</p><p> disproom();</p><p><b> }</b></p><p><b> }<
20、;/b></p><p> Void getname (int)函數(shù)的實(shí)現(xiàn)</p><p> void room::getname (int i)</p><p><b> {</b></p><p> for(int j=0;j<T;j++)</p><p> cout&l
21、t;<name[i][j];</p><p> cout<<"***";</p><p> cout<<endl;</p><p><b> }</b></p><p> void dispacount(int) 函數(shù)的實(shí)現(xiàn)</p><p>
22、; void room::dispacount(int j)</p><p><b> {</b></p><p> cout<<"===============AcountWatch=============="<<endl;</p><p> cout<<"reald
23、ay:";</p><p> cin>>day1[j];</p><p> //if(day1[k]>=day[k])</p><p> cout<<"have pay$"<<day1[j]*100-fail[j]*(1+0.2)<<endl;</p><p
24、><b> //else</b></p><p> //cout<<"our hotal last give you $"<<fail[k]*(1+0.2)-day1[k]*100<<endl;</p><p> day1[j]=day[j]=0;</p><p> cout
25、<<"==============End======================="<<endl;</p><p><b> }</b></p><p> bool find (int)函數(shù)的實(shí)現(xiàn)</p><p> bool room::find (int i)</p><
26、;p><b> {</b></p><p><b> int id=i;</b></p><p> if(roomid[id])</p><p><b> {</b></p><p> cout<<"have been using!&quo
27、t;<<endl;</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
28、 cout<<"welcome to hotal using< "<<id<<" >room"<<endl;</p><p><b> return 1;</b></p><p><b> }</b></p><p>&
29、lt;b> }</b></p><p> void disproom ()函數(shù)的實(shí)現(xiàn)</p><p> void room::disproom ()</p><p><b> {</b></p><p><b> int j;</b></p><p&g
30、t; for(j=0;j<N;j++)</p><p><b> {</b></p><p> cout<<"room"<<j<<"";</p><p><b> }</b></p><p> cout&l
31、t;<endl;</p><p> for(k=0;k<N;k++){</p><p> cout<<roomid[k]<<"";</p><p><b> }</b></p><p> cout<<endl;</p><p
32、><b> }</b></p><p> int choice(int)函數(shù)的實(shí)現(xiàn)</p><p> int person::choice(int i)</p><p><b> {</b></p><p> cout<<"Enter infor(name,id
33、,sex):"<<endl;</p><p> if(count>N)</p><p><b> {</b></p><p> cout<<"sorry!Don't have any room!"<<endl;</p><p><
34、b> return 0;</b></p><p><b> }</b></p><p> for(int j=0;j<T;j++)</p><p> cin>>name[i][j];</p><p> //cin>>name;</p><p&g
35、t;<b> cin>>id;</b></p><p><b> cin>>sex;</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> void init
36、()函數(shù)的實(shí)現(xiàn)</p><p> void room::init()</p><p><b> {</b></p><p> for(int j=0;j<N;j++)</p><p><b> {</b></p><p><b> day[j]=0;
37、</b></p><p> day1[j]=0;</p><p> roomid[j]=0;</p><p> fail[j]=0;</p><p><b> }</b></p><p><b> }</b></p><p>
38、void getday()函數(shù)的實(shí)現(xiàn)</p><p> void room::getday()//int k</p><p><b> {int i;</b></p><p><b> //</b></p><p> for( i=0;i<N;i++)</p><p
39、> if(roomid[i]!=1)</p><p><b> {</b></p><p> k=i;person::choice (k);break;</p><p><b> }</b></p><p><b> count++;</b></p>
40、;<p> cout<<"Enter days:";</p><p> cin>>day[k];</p><p> fail[k]=day[k]*100;</p><p> cout<<"every people $100 every day!"<<endl
41、;</p><p> cout<<"first pay for:<prepare money>$"<<fail[k]*0.2<<"+ using money$:"<<fail[k]<<"=$"<<fail[k]*(1+0.2)<<endl;</p>
42、;<p> roomid[k]=1;</p><p> cout<<"roomid::"<<k<<" will been used by:";</p><p> getname(k);//break;</p><p><b> }</b><
43、/p><p> int getday1(int )函數(shù)的實(shí)現(xiàn)</p><p> int room::getday1(int k)//int k</p><p><b> {</b></p><p> person::choice (k);</p><p><b> count++;
44、</b></p><p> cout<<"Enter days:";</p><p> cin>>day[k];</p><p> fail[k]=day[k]*100;</p><p> cout<<"every people $100 every day
45、!"<<endl;</p><p> cout<<"first pay for:<prepare money>$"<<fail[k]*0.2<<"+ using money$:"<<fail[k]<<"=$"<<fail[k]*(1+0.2)<
46、;<endl;</p><p> roomid[k]=1;</p><p> cout<<"roomid::"<<k<<" will been used by:";</p><p> getname(k);//break;</p><p><b&g
47、t; return 0;</b></p><p><b> }</b></p><p> void exit1()函數(shù)的實(shí)現(xiàn)</p><p> void room::exit1()</p><p><b> {</b></p><p><b>
48、 int i=0;</b></p><p><b> do{</b></p><p> cout<<endl<<"enter roomid:(>>9exit)";</p><p><b> int j;</b></p><p&g
49、t;<b> cin>>j;</b></p><p> if(j>=N)break;</p><p> if(roomid[j]==1)</p><p><b> {</b></p><p> roomid[j]=0;</p><p> disp
50、room();</p><p> cout<<"welcome next!";</p><p> for(int p=0;p<T;p++)</p><p> cout<<name[j][p];</p><p> cout<<endl;</p><p>
51、;<b> i++;</b></p><p><b> count--;</b></p><p> dispacount (j);</p><p><b> }</b></p><p><b> else</b></p><p
52、><b> {</b></p><p> cout<<"error! this room have no people!"<<endl;</p><p><b> continue;</b></p><p><b> }</b></p&g
53、t;<p> }while(i<count);</p><p><b> }</b></p><p> 主函數(shù)main()的編寫</p><p> int main()</p><p><b> {</b></p><p> person t
54、t;</p><p><b> room aa;</b></p><p> system("color 0F");</p><p> system("color 06");</p><p> aa.init();//初始化</p><p><b
55、> char a;</b></p><p><b> int id;</b></p><p><b> for(;;)</b></p><p> {cout<<setw(75)<<"=======賓館房間管理系統(tǒng)======"<<endl;
56、</p><p> cout<<setw(75)<<"=======1.入住================"<<endl;</p><p> cout<<setw(75)<<"=======2.退房================"<<endl;</p>&l
57、t;p> cout<<setw(75)<<"=======3.查詢================"<<endl;</p><p> cout<<setw(75)<<"=======4.貴賓特權(quán)============"<<endl;</p><p> cout<
58、;<setw(75)<<"=======5.退出================"<<endl;</p><p> cout<<setw(56)<<"請(qǐng)選擇 >>>";</p><p><b> cin>>a;</b></p>
59、<p><b> switch(a)</b></p><p><b> {</b></p><p><b> case '1':</b></p><p> ///tt.choice();</p><p> aa.getday();//入住&l
60、t;/p><p> cout<<endl<<"welcome! remenble your roomid!"<<endl;</p><p> aa.disproom();//顯示房間入住情況</p><p><b> break;</b></p><p><
61、b> case '2':</b></p><p> aa.exit1();//退房操作</p><p><b> break;</b></p><p> case '3':</p><p> cout<<"Enter you want r
62、oomid<0--9>:";</p><p><b> cin>>id;</b></p><p> aa.find (id);break;//查詢房間入住情況(按房間號(hào)查詢)</p><p> case '4':cout<<"Enter you want roomi
63、d<0--9>:";</p><p><b> cin>>id;</b></p><p> aa.fishman (id);break;//貴賓特權(quán)先查詢?cè)谌胱?調(diào)用查詢函數(shù))</p><p> case '5':return 0;//退出(返回給操作系統(tǒng))</p><
64、;p> default:break;</p><p><b> }</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p&
65、gt; 四、系統(tǒng)運(yùn)行截圖(顯示系統(tǒng)全部功能)</p><p> 五、系統(tǒng)設(shè)計(jì)心得體會(huì)</p><p> 開始完全沒有現(xiàn)在這樣有信心,因?yàn)橹癈語言課程設(shè)計(jì)時(shí)因?yàn)閷?shí)踐的少,可以說當(dāng)時(shí)是很失敗的,大二學(xué)了數(shù)據(jù)結(jié)構(gòu),接著學(xué)習(xí)C++,經(jīng)過大一大二兩年的實(shí)踐與學(xué)習(xí),發(fā)現(xiàn)計(jì)算機(jī)確實(shí)是理論和實(shí)踐都很強(qiáng)的一門學(xué)科,發(fā)現(xiàn)這一點(diǎn)后,我之后也盡量做到學(xué)習(xí)后實(shí)踐,特別是十分注重我們的實(shí)驗(yàn)課,把每一次實(shí)驗(yàn)都當(dāng)
66、做一次考試,態(tài)度認(rèn)真的把實(shí)驗(yàn)做好,益處是潛移默化的,可能短時(shí)間內(nèi)體會(huì)不到,我想如果我對(duì)C/C++的學(xué)習(xí)只堅(jiān)持了一年,那我想最后我還是會(huì)是0,現(xiàn)在我證明了這個(gè)事實(shí),事實(shí)確實(shí)是這樣子的,如果我當(dāng)初放棄了,現(xiàn)在的課程設(shè)計(jì)估計(jì)還是會(huì)束手無策,這是作為學(xué)生的我最無法忍受的,所以我拼命的學(xué),沒日沒夜的編程,這是一門深?yuàn)W的學(xué)科,即使是資深的程序員也不見得10分中可以給自己打滿分,至少我是沒有看到過,這門語言太高深,我只能說是入門,或者說是比入門好一點(diǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++賓館住宿管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)賓館客房管理系統(tǒng)
- c語言課程設(shè)計(jì)--賓館房間登記與計(jì)費(fèi)管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告-- 學(xué)籍管理系統(tǒng)
- c++課程設(shè)計(jì)—教師管理系統(tǒng)報(bào)告
- 酒店管理系統(tǒng)_c++課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--酒店管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告-商品管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告飛機(jī)訂票管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--高校人員管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---銀行管理系統(tǒng)
- visual c++超市管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++語言課程設(shè)計(jì)報(bào)告--影像管理系統(tǒng)
- 課程設(shè)計(jì)--某賓館房間空調(diào)系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告(學(xué)生學(xué)籍管理系統(tǒng))
- c++課程設(shè)計(jì)報(bào)告(學(xué)生學(xué)籍管理系統(tǒng))
- c++課程設(shè)計(jì)報(bào)告-圖書管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---設(shè)備管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--人事管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論