版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C++程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告</p><p> 選題名稱: 客房管理 </p><p> 系(院): 計(jì)算機(jī)工程學(xué)院</p><p> 專 業(yè): 通信工程(多媒體通信)</p><p> 班 級(jí): xxxxxx </p&g
2、t;<p> 姓 名: xxxxxx 學(xué) 號(hào): xxxxxx </p><p> 指導(dǎo)教師: xxxxxxx </p><p> 學(xué)年學(xué)期: 2011 ~ 2012 學(xué)年 第 1 學(xué)</p><p> 2011年 12 月 26 日
3、</p><p><b> 設(shè)計(jì)任務(wù)書</b></p><p><b> 摘要</b></p><p> 客房管理系統(tǒng)包括客戶基本信息的錄入,統(tǒng)計(jì),查詢,修改,刪除功能。系統(tǒng)開發(fā)由分析,設(shè)計(jì),實(shí)施,調(diào)試,測(cè)試等階段組成,其中信息管理為開發(fā)重點(diǎn),在程序設(shè)計(jì)中結(jié)構(gòu)體的調(diào)用與文件的閱讀為編譯的重點(diǎn)部分。包括客戶信息管理、客
4、房信息管理、入住和退房管理客房類型管理、費(fèi)用管理和價(jià)目信息管理等6大功能模塊,并提供了各功能模塊的查詢和更新功能,其中客戶信息管理、入住和退房管理是系統(tǒng)開發(fā)的重點(diǎn)。本系統(tǒng)由需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)等組成。根據(jù)設(shè)計(jì)的需要,運(yùn)用了類函數(shù)、指針數(shù)組、結(jié)構(gòu)語(yǔ)句、if語(yǔ)句、for語(yǔ)句、switch語(yǔ)句等。系統(tǒng)按功能將分為三個(gè)模塊,分別為添加模塊,調(diào)用模塊,查詢模塊。 </p><p> 整個(gè)系統(tǒng)比較適合小型的
5、賓館客房使用。沒(méi)有過(guò)多的其他附加功能,只是簡(jiǎn)單得將如何訂房、入住、退房、查詢功能實(shí)現(xiàn),然后在此基礎(chǔ)上進(jìn)行了遞階性的開發(fā)。</p><p> 關(guān)鍵詞:結(jié)構(gòu)體的調(diào)用;查詢函數(shù)的運(yùn)用;循環(huán)語(yǔ)句的運(yùn)用;函數(shù)的調(diào)用。</p><p><b> 目錄</b></p><p> 1.課題綜述..........................
6、...............................51.1課題來(lái)源........................................................51.2課題意義........................................................51.3預(yù)期目標(biāo)..................................................
7、......51.4面對(duì)的問(wèn)題......................................................51.5需要解決的關(guān)鍵技術(shù)...............................................5</p><p> 2.需求分析..........................................................6
8、</p><p> 2.1題目分析........................................................6</p><p> 2.2系統(tǒng)功能模塊圖...................................................6</p><p> 3.總體設(shè)計(jì)...................
9、.......................................7</p><p> 3.1.模塊設(shè)計(jì)........................................................7</p><p> 3.2.總體業(yè)務(wù)圖......................................................73.3.
10、業(yè)務(wù)流程圖......................................................8</p><p> 4.詳細(xì)設(shè)計(jì)..........................................................8</p><p> 4.1主函數(shù)部分.........................................
11、.............84.2各功能的實(shí)現(xiàn).....................................................84.2.1定義成員函數(shù)...................................................94.2.2類的運(yùn)用......................................................94.2.3指針和結(jié)構(gòu)指針
12、的運(yùn)用...........................................104.2.4 if_else語(yǔ)句,for語(yǔ)句和switch語(yǔ)句的運(yùn)用..........................11</p><p> 5.上機(jī)操作.........................................................14 5.1.工程任務(wù)...........
13、...........................................14 5.2.操作步驟......................................................146.總結(jié).............................................................17</p><p> 7.致謝.............
14、................................................188.附錄 源代碼......................................................199.參考文獻(xiàn).........................................................2810.教師評(píng)語(yǔ) ..............................
15、.........................29一.課題綜述 1.1課題來(lái)源 利用C++所學(xué)的知識(shí),設(shè)計(jì)一個(gè)小型的客房管理系統(tǒng),充分利用C語(yǔ)言的知識(shí),把相關(guān)設(shè)計(jì)用代碼形式表示出來(lái)。所設(shè)計(jì)的管理系統(tǒng)要完整并且可行,要達(dá)到預(yù)期的效果,通過(guò)對(duì)代碼的編寫,充分了解所學(xué)C++知識(shí),牢記并掌握C++在實(shí)際應(yīng)用中的重要作用。1.2課題意義 通過(guò)對(duì)小型客房管理系統(tǒng)的設(shè)計(jì),幫助學(xué)生鞏固所學(xué)的C++基礎(chǔ)知識(shí),培養(yǎng)學(xué)
16、生的動(dòng)手操作能力,提高學(xué)生的團(tuán)隊(duì)合作能力。培養(yǎng)學(xué)生的自主創(chuàng)新能力,使學(xué)生更用心、更謹(jǐn)慎</p><p> 客戶信息包括身份證號(hào),姓名,房間號(hào),試設(shè)計(jì)一個(gè)客房管理系統(tǒng),使之能提供以下功能: (1)系統(tǒng)以菜單方式提供</p><p> ?。?)客戶信息錄入功能</p><p> (3)客戶信息統(tǒng)計(jì)功能</p><p> ?。?)客戶信息查
17、詢功能,查詢方式(5)客戶信息修改功能【提示】 建立客戶信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括身份證號(hào),姓名,房間號(hào),費(fèi)用,客房狀態(tài)。1.4面對(duì)的問(wèn)題 (1)主菜單的設(shè)計(jì)該如何提供用戶選擇界面;</p><p> ?。?)各功能的實(shí)現(xiàn)需要運(yùn)用哪些函數(shù)和如何調(diào)用函數(shù); (3)如何提供給客戶最清晰、最簡(jiǎn)單的選擇操作。</p><p> 1.5需要解決的關(guān)鍵技術(shù) (1)C++
18、編譯器中的Visual C++ 6.0作為軟件開發(fā)工具,提供代碼編寫和程序的調(diào)試;</p><p> ?。?)在程序設(shè)計(jì)過(guò)程中,相關(guān)代碼的編寫要運(yùn)用不同的函數(shù),相關(guān)函數(shù)的分析運(yùn)用和調(diào)試需要運(yùn)用不同的知識(shí)。</p><p> 二.需求分析 2.1 題目分析 根據(jù)題目要求,要求對(duì)客戶信息進(jìn)行輸入,輸出等操作;在程序中需要瀏覽客戶信 息,應(yīng)提供顯示,
19、統(tǒng)計(jì),查詢,修改等操作。</p><p> 2.2 系統(tǒng)功能模塊圖</p><p> 圖一:系統(tǒng)功能模塊圖</p><p> 三.總體設(shè)計(jì) 1.根據(jù)需求分析,可以對(duì)這個(gè)系統(tǒng)的設(shè)計(jì)分為以下幾個(gè)模塊:</p><p> 圖二:客房信息管理系統(tǒng)圖</p><p><b> 2.總體業(yè)務(wù)圖
20、</b></p><p><b> 圖三:總體業(yè)務(wù)圖</b></p><p><b> 3.業(yè)務(wù)流程圖</b></p><p><b> 圖四:業(yè)務(wù)流程圖</b></p><p><b> 四.詳細(xì)設(shè)計(jì)</b></p>
21、<p><b> 1.主函數(shù)部分:</b></p><p> 主函數(shù)一般設(shè)計(jì)比較簡(jiǎn)潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用,其中各功能模塊用菜單方式選擇。 主函數(shù)代碼: </p><p> void main() </p><p><b> {</b></p><p>
22、; char choice='1';</p><p> initial_room(); </p><p> welcome(); </p><p> while(choice=='1')</p><p><b> {</b></p><p> ent
23、er(); </p><p> cout<<endl;</p><p> cout<<"繼續(xù)使用本系統(tǒng)請(qǐng)按\"1\",退出請(qǐng)按\"2\"! ";</p><p> cin>>choice;</p><p> if(choice==
24、39;2')</p><p> {cout<<"**************************"<<endl;</p><p> cout<<"****謝謝使用本系統(tǒng)!****"<<endl;</p><p> cout<<"******
25、********************"<<endl;</p><p><b> }</b></p><p> cout<<endl;</p><p><b> }</b></p><p><b> }</b></p>
26、<p> 2.各功能的實(shí)現(xiàn)
27、 </p><p> (1)定義成員函數(shù):</
28、p><p> a.結(jié)構(gòu)的運(yùn)用:結(jié)構(gòu)是一種復(fù)合數(shù)據(jù)類型,結(jié)構(gòu)體類型定義時(shí)可以嵌套,即結(jié)構(gòu)體的某個(gè)成員也可以是結(jié)構(gòu)體類型。b.結(jié)構(gòu)類型定義格式:struct 結(jié)構(gòu)類型名{數(shù)據(jù)類型 成員名1;</p><p> 數(shù)據(jù)類型 成員名2;</p><p><b> ………</b></p><p> 數(shù)據(jù)類型
29、成員名 N;};</p><p> c.用結(jié)構(gòu)函數(shù)實(shí)現(xiàn)房間信息的定義,代碼設(shè)計(jì):</p><p> struct Room </p><p><b> {</b></p><p> int number;</p><p><b> int dank;&l
30、t;/b></p><p> int price;</p><p> int state; </p><p><b> };</b></p><p> ?。?)類的運(yùn)用:a.用類來(lái)把數(shù)據(jù)和函數(shù)封裝在一起。1.類成員</p><p> 數(shù)據(jù)成員,它們指定了該類對(duì)象的內(nèi)部表示成員函數(shù)
31、,它們指定該類的操作。</p><p><b> 類成員訪問(wèn)權(quán)限</b></p><p> 公有(public)成員:可以在類外訪問(wèn)。</p><p> 私有(private)成員:只能被該類的成員函數(shù)訪問(wèn)。</p><p> 保護(hù)(protected)成員:只能被該類的成員函數(shù)或派生類的成員函數(shù)訪問(wèn)。</
32、p><p> 數(shù)據(jù)成員通常是私有的。</p><p> 成員函數(shù)通常有一部分是公有的,一部分是私有的。公有成員函數(shù)可在類外被訪問(wèn),也稱之為類的接口。</p><p><b> 2.代碼設(shè)計(jì):</b></p><p> class Customer </p><p><b&g
33、t; {</b></p><p><b> public:</b></p><p> Customer();</p><p> void set_name(char *n){strcpy(name,n);}</p><p> void set_ID(char *p){strcpy(ID,p);}&l
34、t;/p><p> void set_room_number(int n){room_number=n;}</p><p> void set_day(int d){day=d;}</p><p> void set_prepaid(int p){prepaid=p;}</p><p> char *get_name(){return n
35、ame;}</p><p> char *get_ID(){return ID;}</p><p> int get_room_number(){return room_number;}</p><p> int get_day(){return day;}</p><p> int get_prepaid(){return p
36、repaid;} </p><p> virtual ~Customer();</p><p><b> private: </b></p><p> char name[10],ID[19]; </p><p> int room_number;</p><p> int prep
37、aid;</p><p> int change;</p><p><b> int day;</b></p><p><b> };</b></p><p> b.析構(gòu)函數(shù):析構(gòu)函數(shù)用來(lái)釋放分配給對(duì)象的內(nèi)存空間。 1.析構(gòu)函數(shù)的定義格式如下:<類名>::~<類名&
38、gt;(){<函數(shù)體>}2.析構(gòu)函數(shù)的特點(diǎn): *析構(gòu)函數(shù)的名字是在類名前加一個(gè)“~”構(gòu)成;</p><p> *析構(gòu)函數(shù)沒(méi)有參數(shù),也沒(méi)有返回值,而且不能重載,所以在一個(gè)類中只能有一個(gè)析構(gòu)函數(shù); *對(duì)象注銷時(shí),系統(tǒng)自動(dòng)調(diào)用析構(gòu)函數(shù); *如果一個(gè)類中沒(méi)有定義析構(gòu)函數(shù),系統(tǒng)會(huì)自動(dòng)生成一個(gè)缺省的析構(gòu)函數(shù),其形式為:類名::~類名(){}</p><p>&l
39、t;b> [代碼設(shè)計(jì)]:</b></p><p> Customer::~Customer()</p><p><b> {</b></p><p> cout<<"該顧客退房成功!"<<endl;</p><p><b> }</b
40、></p><p> c.靜態(tài)數(shù)據(jù)成員函數(shù):靜態(tài)數(shù)據(jù)成員屬于整個(gè)類,使用是可用以下格式:類名::靜態(tài)數(shù)據(jù)成員 或者 對(duì)象名.靜態(tài)數(shù)據(jù)成員名</p><p> ?。?)指針與結(jié)構(gòu)指針的運(yùn)用:a.指針定義格式:數(shù)據(jù)類型 *指針名</p><p> b.指針與一維數(shù)組:假如有數(shù)組a和指針p,且p=a;則有a[i]、*(a+i)、p[i]、*(p
41、+i)四種形式等價(jià),均是對(duì)a[i]元素的引用。c.結(jié)構(gòu)指針:當(dāng)用點(diǎn)操作符時(shí),它的左邊應(yīng)是一個(gè)結(jié)構(gòu)變量,當(dāng)用箭頭操作符時(shí),它的左邊應(yīng)是一個(gè)結(jié)構(gòu)指針。d.用結(jié)構(gòu)指針來(lái)訪問(wèn)結(jié)構(gòu)成員,代碼設(shè)計(jì):</p><p><b> 例如:</b></p><p> void check_in()</p><p><b> {</b>
42、;</p><p> char name1[10],id1[19];</p><p> int ding_or_no;</p><p> int prepaid;</p><p> cout<<"該顧客訂房了嗎? (1->訂了 2->沒(méi)訂) ";</p><p>
43、 cin>>ding_or_no;</p><p> if(ding_or_no==1)</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入顧客的姓名:"<<endl;</p><p> cin>>name1;</
44、p><p> cout<<"請(qǐng)輸入顧客的身份證號(hào)碼:"<<endl;</p><p><b> cin>>id1;</b></p><p> for(int j=0;j<=i;j++)</p><p><b> {</b></p
45、><p> if((strcmp(customer[j]->get_name(),name1)==0)&&(strcmp(customer[j]->get_ID(),id1)==0)) </p><p><b> {</b></p><p> int num=customer[j]->get_room_nu
46、mber(); </p><p> cout<<"顧客"<<name1<<"今天入住本賓館! 房間號(hào)碼為: "<<num<<endl;</p><p> switch(num/100)</p><p><b> {</b></p&g
47、t;<p><b> case 6:</b></p><p> prepaid=customer[j]->get_day()*150;</p><p> customer[j]->set_prepaid(prepaid);</p><p> cout<<"請(qǐng)收房費(fèi) "<&l
48、t;prepaid<<"元整!"<<endl; </p><p> room[num%100-1].state=2; </p><p><b> break;</b></p><p><b> case 7:</b></p>
49、<p> prepaid=customer[j]->get_day()*200;</p><p> customer[j]->set_prepaid(prepaid);</p><p> cout<<"請(qǐng)收房費(fèi) "<<prepaid<<"元整!"<<endl;</p&g
50、t;<p> room[19+num%100].state=2;</p><p><b> break;</b></p><p><b> case 8:</b></p><p> prepaid=customer[j]->get_day()*300;</p><p>
51、 customer[j]->set_prepaid(prepaid);</p><p> cout<<"請(qǐng)收房費(fèi) "<<prepaid<<"元整!"<<endl;</p><p> room[39+num%100].state=2;</p><p><b>
52、 break;</b></p><p><b> case 9:</b></p><p> prepaid=customer[j]->get_day()*600;</p><p> customer[j]->set_prepaid(prepaid);</p><p> cout<&l
53、t;"請(qǐng)收房費(fèi) "<<prepaid<<"元整!"<<endl;</p><p> room[59+num%100].state=2;</p><p><b> break;</b></p><p><b> }</b></p>
54、<p><b> break;</b></p><p><b> } </b></p><p><b> }</b></p><p><b> } </b></p><p> C.new與delete:new類似與函數(shù)malloc(
55、),分配堆內(nèi)存,但比malloc()更簡(jiǎn)練。new的操作數(shù)為數(shù)據(jù)類型,它可以帶初始化值表或單元個(gè)數(shù)。New返回一個(gè)具有操作數(shù)之?dāng)?shù)據(jù)類型的指針。返回delete類似于函數(shù)free(),釋放堆內(nèi)存。Delete的操作數(shù)是new返回的指針,當(dāng)返回的是new分配的數(shù)組時(shí),應(yīng)帶[]。</p><p><b> [代碼設(shè)計(jì)]</b></p><p> customer[i]
56、=new Customer;</p><p> int room_standard,day;</p><p> cout<<"請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn):\n"; </p><p> cout<<"1.單人間/天150元\n2.雙人間/天200元\n3.標(biāo)準(zhǔn)間/天300元\n4.總統(tǒng)套房/天600元\n&quo
57、t;; </p><p> cin>>room_standard; </p><p> cout<<"請(qǐng)輸入住宿天數(shù)\n"; </p><p> cin>>day; </p><p> customer[i]->set_day(day);</p><p&
58、gt; cout<<"退房核算清楚,請(qǐng)按1: ";</p><p> ////////////////////</p><p> cin>>account;</p><p> if(account=='1')</p><p><b> {</b>&l
59、t;/p><p> for(int k=0;k<80;k++)</p><p><b> {</b></p><p> if(room[k].number==customer[j]->get_room_number()) </p><p> room[k].state=0;</p><
60、p><b> }</b></p><p><b> i--;</b></p><p> for(;j<i;j++)</p><p><b> {</b></p><p> customer[j]=customer[j+1];</p><
61、p><b> }</b></p><p> delete customer[i];</p><p><b> }</b></p><p> (4).if...else語(yǔ)句; switch語(yǔ)句的運(yùn)用;for語(yǔ)句的運(yùn)用</p><p> a.常用的構(gòu)成選擇結(jié)構(gòu)的if語(yǔ)句有兩種形式,如下:
62、*.if(條件) 語(yǔ)句1</p><p> Else 語(yǔ)句2</p><p> *.if(條件) 語(yǔ)句1</p><p> else if(條件) 語(yǔ)句2else if(條件) 語(yǔ)句3……else 語(yǔ)句</p><p> b.switch語(yǔ)句:</p><p> 用switch語(yǔ)句
63、構(gòu)成選擇結(jié)構(gòu)的格式為:switch(表達(dá)式){case 常量表達(dá)式1:語(yǔ)句塊1 [break;]case 常量表達(dá)式2:語(yǔ)句塊2 [break;]</p><p> ………case 常量表達(dá)式n:語(yǔ)句塊n [break;]c.for語(yǔ)句形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3) {循環(huán)體語(yǔ)句塊}注意:1.for循環(huán)通常用于有確定次數(shù)的循環(huán);</p><
64、p> 2.for語(yǔ)句中三個(gè)表達(dá)式中任何一個(gè)均可以省略,但兩個(gè)分號(hào)不可以省略; 3.for循環(huán)可以有多個(gè)循環(huán)變量,此時(shí),循環(huán)變量的表達(dá)式之間用逗號(hào)隔 開;</p><p> 4.循環(huán)語(yǔ)句能夠在另一個(gè)循環(huán)語(yǔ)句的循環(huán)體內(nèi),即循環(huán)能夠被嵌套。d.代碼設(shè)計(jì):</p><p> void book_room()</p><p>
65、<b> {</b></p><p> customer[i]=new Customer;</p><p> int room_standard,day;</p><p> cout<<"請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn):\n"; </p><p> cout<<"1
66、.單人間/天150元\n2.雙人間/天200元\n3.標(biāo)準(zhǔn)間/天300元\n4.總統(tǒng)套房/天600元\n"; </p><p> cin>>room_standard; </p><p> cout<<"請(qǐng)輸入預(yù)定天數(shù)\n"; </p><p> cin>>day; </p>&l
67、t;p> customer[i]->set_day(day);</p><p> switch(room_standard) </p><p><b> { </b></p><p><b> int n;</b></p><p><b> case 1:</b
68、></p><p> cout<<"住房費(fèi)用總共為: "<<day*150<<"元\n"; </p><p> for(n=0;n<20;n++) </p><p><b> {</b></p><p> if
69、(room[n].state==0) </p><p><b> {</b></p><p> cout<<"預(yù)定成功!房間號(hào)碼為: "<<room[n].number<<endl;</p><p> room[n].state=1;</p><p&
70、gt; customer[i]->set_room_number(room[n].number);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> b
71、reak; </b></p><p><b> case 2:</b></p><p> cout<<"住房費(fèi)用總共為: "<<day*200<<" 元\n"; </p><p> for(n=20;n<40;n++)</p>&l
72、t;p><b> {</b></p><p> if(room[n].state==0)</p><p><b> {</b></p><p> cout<<"預(yù)定成功!房間號(hào)碼為: "<<room[n].number<<endl;</p>
73、<p> room[n].state=1;</p><p> customer[i]->set_room_number(room[n].number);</p><p><b> break;</b></p><p><b> }</b></p><p><b>
74、 }</b></p><p><b> break; </b></p><p><b> case 3:</b></p><p> cout<<"住房費(fèi)用總共為: "<<day*300<<" 元\n"; </p>
75、<p> for(n=40;n<60;n++)</p><p><b> {</b></p><p> if(room[n].state==0)</p><p><b> {</b></p><p> cout<<"預(yù)定成功!房間號(hào)碼為: "
76、<<room[n].number<<endl;</p><p> room[n].state=1;</p><p> customer[i]->set_room_number(room[n].number);</p><p><b> break;</b></p><p><b&
77、gt; }</b></p><p><b> }</b></p><p><b> break; </b></p><p><b> case 4:</b></p><p> cout<<"住房費(fèi)用總共為: "<<
78、;day*600<<"元\n"; </p><p> for(n=60;n<80;n++)</p><p><b> {</b></p><p> if(room[n].state==0)</p><p><b> {</b></p>&l
79、t;p> cout<<"預(yù)定成功!房間號(hào)碼為: "<<room[n].number<<endl;</p><p> room[n].state=1;</p><p> customer[i]->set_room_number(room[n].number);</p><p><b>
80、 break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> break; </b></p><p><b> } </b></p><p>
81、;<b> i++; </b></p><p><b> }</b></p><p> 五.上機(jī)操作1.工程任務(wù)A.界面設(shè)計(jì);B.輸入客戶信息,包括姓名、身份證號(hào)等;C.輸出每個(gè)客戶的信息。2.操作步驟(1)輸出界面:根據(jù)要求,輸入用戶名和密碼,登錄到系統(tǒng)首界面</p><p><b> 圖
82、 1</b></p><p> (2)訂房實(shí)現(xiàn):根據(jù)提示,選擇服務(wù)類別,選一進(jìn)入訂房管理系統(tǒng)</p><p><b> 圖 2</b></p><p> (3)入住實(shí)現(xiàn):根據(jù)提示選二進(jìn)入入住管理系統(tǒng)</p><p><b> 圖 3</b></p><p>
83、; (4)退房實(shí)現(xiàn):根據(jù)提示輸入3進(jìn)入退房管理系統(tǒng)</p><p><b> 圖 4</b></p><p> ?。?)查詢功能:a.房間信息查詢</p><p><b> 圖 5</b></p><p><b> b.顧客信息查詢</b></p>&l
84、t;p><b> 圖 6</b></p><p><b> ?。?)退出系統(tǒng)</b></p><p> 圖7 </p&g
85、t;<p><b> 總結(jié)</b></p><p> 此次課程設(shè)計(jì)中,我成功做出了課堂上老師要求的內(nèi)容。雖然最后的一個(gè)模塊是通過(guò)網(wǎng)絡(luò)找的,但是也通過(guò)這個(gè)模塊學(xué)到了一些在課堂上沒(méi)有真正掌握的文件部分的自如運(yùn)用。 通過(guò)此次課程設(shè)計(jì),我對(duì)所學(xué)知識(shí)有了更深層次的理解,我更加理解和懂得運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法,初步掌握開發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法,學(xué)會(huì)調(diào)試同一個(gè)較長(zhǎng)程
86、序的基本方法,進(jìn)一步掌握和提高利用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力。這次C++課程設(shè)計(jì)不僅是一次動(dòng)手的機(jī)會(huì),更讓我們?cè)趯?shí)踐中對(duì)這一學(xué)期所學(xué)的知識(shí)有了很好的復(fù)習(xí),鞏固和提高。 在設(shè)計(jì)中遇到了好多的調(diào)試不出結(jié)果的問(wèn)題通過(guò)大家的合作,得到了好多以后可以避免錯(cuò)誤的經(jīng)驗(yàn),通過(guò)老師的幫助,也得到了很多沒(méi)有接觸過(guò)的知識(shí)。通過(guò)實(shí)踐,建立課程設(shè)計(jì)的整體思想,鍛煉編寫程序、調(diào)試程序的能力,學(xué)習(xí)文檔編寫規(guī)范,培養(yǎng)獨(dú)立學(xué)習(xí)、吸取他人經(jīng)驗(yàn)、探索前沿知識(shí)的習(xí)慣,樹
87、立團(tuán)隊(duì)協(xié)作精神。 通過(guò)實(shí)習(xí),我還明白一些做人的道理。不論是什么,做出來(lái)的成果永遠(yuǎn)是最值得驕傲的。想象重要,動(dòng)手更重要。我們不可能掌握所有的知識(shí),但是我們可以從實(shí)踐中學(xué)到很多我們平時(shí)不太熟悉的知識(shí)。平時(shí)我們不太注重的細(xì)節(jié),往往會(huì)導(dǎo)致</p><p><b> 致謝</b></p><p> 這次的C++課程設(shè)計(jì)能夠順利圓滿的完成不僅是個(gè)人的功勞,還要感謝那
88、些給予我?guī)椭娜撕蛥⒖嘉墨I(xiàn),實(shí)踐地點(diǎn)。首先要感謝淮陰工學(xué)院計(jì)算機(jī)工程學(xué)院,感謝淮陰工學(xué)院給我們提供了良好的硬件設(shè)施,給我們提供了一個(gè)動(dòng)手的平臺(tái);其次還要感謝淮陰工學(xué)院計(jì)算機(jī)工程學(xué)院的老師們。 在這次課程設(shè)計(jì)中,多虧了同學(xué)的指導(dǎo),讓我在實(shí)踐中學(xué)到了很多知識(shí),同學(xué)幫我糾正了很多錯(cuò)誤,幫我更好地完善我的報(bào)告。回顧著過(guò)去的一周,我發(fā)現(xiàn)自己收獲了很多,也成長(zhǎng)了很多懂得如何去多方位地查找資料,完善和創(chuàng)新一些舊的思維方式,懂的如何同老師和同學(xué)
89、交流協(xié)作。在這一周里,我從很多地方去查找資料來(lái)完善我的課程設(shè)計(jì),同學(xué)們給予我很大的幫助,我很多知識(shí)掌握的不好,同學(xué)會(huì)很有耐心地講給我聽。在設(shè)計(jì)過(guò)程中,才發(fā)現(xiàn)自己對(duì)好多知識(shí)都沒(méi)有理解透徹,通過(guò)大家的互幫互助,我們克服了很多困難。不光在學(xué)習(xí)方面,我得到了許多人的幫助,同時(shí)在人際交往方面自己也能更好的體會(huì)。雖然在這次課程設(shè)計(jì)上花了一定的時(shí)間,但我認(rèn)為這是值得的。我也要感謝老師的耐心教導(dǎo)和悉心的講解。任勞任怨,默默奉獻(xiàn)著,在我們遇到編程上的困難
90、時(shí),她給了我們最細(xì)致入微的輔導(dǎo),與我們一起探討代碼上出</p><p> 對(duì)于指導(dǎo)老師和同學(xué)的幫助我再次 深深的謝意!沒(méi)有他們的幫助我相信自己一個(gè)人很難及時(shí)完成任務(wù)。真的很感謝他們!</p><p><b> 附錄源代碼:</b></p><p> #include<iostream.h> </p><p
91、> #include<string.h></p><p> //***********************************************************************************</p><p> void initial_room(); //初始化80個(gè)房間信息</p><p> voi
92、d welcome(); //驗(yàn)證用戶登陸,登陸成功顯示歡迎信息</p><p> void enter();</p><p> void book_room();</p><p> void check_in();</p><p> void check_out();</p><p> void inq
93、uire();</p><p><b> int i=0;</b></p><p> //***********************************************************************************</p><p> struct Room // room的結(jié)
94、構(gòu)聲明</p><p><b> {</b></p><p> int number;</p><p><b> int dank;</b></p><p> int price;</p><p> int state; </p><p>&
95、lt;b> };</b></p><p> class Customer //類的運(yùn)用</p><p><b> {</b></p><p><b> public:</b></p><p> Customer();</p><p>
96、 void set_name(char *n){strcpy(name,n);}</p><p> void set_ID(char *p){strcpy(ID,p);}</p><p> void set_room_number(int n){room_number=n;}</p><p> void set_day(int d){day=d;}</p
97、><p> void set_prepaid(int p){prepaid=p;}</p><p> char *get_name(){return name;}</p><p> char *get_ID(){return ID;}</p><p> int get_room_number(){return room_number;}
98、</p><p> int get_day(){return day;}</p><p> int get_prepaid(){return prepaid;} </p><p> virtual ~Customer();</p><p><b> private: </b></p><p
99、> char name[10],ID[19]; </p><p> int room_number;</p><p> int prepaid;</p><p> int change;</p><p><b> int day;</b></p><p><b>
100、 };</b></p><p> Customer::Customer()</p><p><b> {</b></p><p> cout<<"請(qǐng)您輸入顧客的姓名\n";</p><p> cin>>name;</p><p>
101、 cout<<"請(qǐng)您輸入顧客的身份證號(hào)碼\n"; </p><p><b> cin>>ID; </b></p><p> prepaid=change=day=0;</p><p><b> }</b></p><p> Customer::~C
102、ustomer()</p><p><b> {</b></p><p> cout<<"該顧客退房成功!"<<endl;</p><p><b> }</b></p><p> //********************************
103、***************************************************</p><p> Room room[80];</p><p> Customer *customer[80];</p><p> void main() //程序入口從這里開始運(yùn)行</p><p><b> {<
104、;/b></p><p> char choice='1';</p><p> initial_room(); //初始化80個(gè)房間的信息,分四個(gè)等級(jí)</p><p> welcome(); //驗(yàn)證用戶登陸,登陸成功顯示歡迎信息</p><p> while(choice=='1')<
105、/p><p><b> {</b></p><p> enter(); //根據(jù)用戶的選擇執(zhí)行不同的功能</p><p> cout<<endl;</p><p> cout<<"繼續(xù)使用本系統(tǒng)請(qǐng)按\"1\",退出請(qǐng)按\"2\"! &qu
106、ot;;</p><p> cin>>choice;</p><p> cout<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> //系統(tǒng)登陸界面******************
107、*****************************************************</p><p> void welcome() //驗(yàn)證用戶登陸,登陸成功顯示歡迎信息</p><p><b> {</b></p><p> char name[4],code[7];</p><p>
108、 cout<<"請(qǐng)輸入用戶名和密碼(以空格隔開):\n"; </p><p> cin>>name>>code;</p><p> while((strcmp(name,"000")!=0)||(strcmp(code,"666666")!=0)) //比較兩個(gè)字符串</p>
109、<p><b> {</b></p><p> cout<<"用戶名或密碼輸入有誤,請(qǐng)重新輸入!\n";</p><p> cin>>name>>code;</p><p><b> }</b></p><p> cout
110、<<endl;</p><p> cout<<endl;</p><p> cout<<" ▲***************************▲\n"; </p><p> cout<<"
111、 △ 歡迎使用***系統(tǒng)!△\n"; </p><p> cout<<" ▲***************************▲\n"; </p><p> cout<<endl;</p><p><b> }</b></p>
112、;<p> //系統(tǒng)入口***************************************************************************</p><p> void enter()</p><p><b> {</b></p><p> int kind_of_service;<
113、/p><p> cout<<"請(qǐng)選擇服務(wù)類別:訂房、入住、退房還是查詢? \n"; </p><p> cout<<" 1->定房 2->入住 3->退房 4->查詢: ";</p><p> cin>>kind_of_service; </p>
114、<p> if((kind_of_service>4) || (kind_of_service<1)) </p><p><b> {</b></p><p> cout<<"您的輸入有誤,請(qǐng)重試!\n"; </p><p> cin>>kind_of_service
115、;</p><p><b> } </b></p><p><b> else </b></p><p> switch(kind_of_service) </p><p><b> {</b></p><p> case 1: book_ro
116、om();</p><p><b> break;</b></p><p> case 2: check_in();</p><p><b> break;</b></p><p> case 3: check_out();</p><p><b> br
117、eak;</b></p><p> case 4: inquire();</p><p><b> break;</b></p><p><b> } </b></p><p><b> }</b></p><p> //訂房實(shí)現(xiàn)*
118、**************************************************************************</p><p> void book_room()</p><p><b> {</b></p><p> customer[i]=new Customer;</p><
119、p> int room_standard,day;</p><p> cout<<"請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn):\n"; </p><p> cout<<"1.單人間/天150元\n2.雙人間/天200元\n3.標(biāo)準(zhǔn)間/天300元\n4.總統(tǒng)套房/天600元\n"; </p><p> cin
120、>>room_standard; </p><p> cout<<"請(qǐng)輸入預(yù)定天數(shù)\n"; </p><p> cin>>day; </p><p> customer[i]->set_day(day);</p><p> switch(room_standard) <
121、;/p><p><b> { </b></p><p><b> int n;</b></p><p><b> case 1:</b></p><p> cout<<"住房費(fèi)用總共為: "<<day*150<<&qu
122、ot;元\n"; //計(jì)算住房費(fèi)用</p><p> for(n=0;n<20;n++) //從第一個(gè)級(jí)別的房間中查找一個(gè)空閑的房間</p><p><b> {</b></p><p> if(room[n].state==0) //state=0表示該住房沒(méi)有被預(yù)定的</p>
123、<p><b> {</b></p><p> cout<<"預(yù)定成功★房間號(hào)碼為: "<<room[n].number<<endl;</p><p> room[n].state=1;</p><p> customer[i]->set_room_number
124、(room[n].number);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> break; </b></p><p>
125、;<b> case 2:</b></p><p> cout<<"住房費(fèi)用總共為: "<<day*200<<" 元\n"; </p><p> for(n=20;n<40;n++)</p><p><b> {</b></p&
126、gt;<p> if(room[n].state==0)</p><p><b> {</b></p><p> cout<<"預(yù)定成功★房間號(hào)碼為: "<<room[n].number<<endl;</p><p> room[n].state=1;</p&g
127、t;<p> customer[i]->set_room_number(room[n].number);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p>&l
128、t;b> break; </b></p><p><b> case 3:</b></p><p> cout<<"住房費(fèi)用總共為: "<<day*300<<" 元\n"; </p><p> for(n=40;n<60;n++)<
129、/p><p><b> {</b></p><p> if(room[n].state==0)</p><p><b> {</b></p><p> cout<<"預(yù)定成功★房間號(hào)碼為: "<<room[n].number<<endl;&
130、lt;/p><p> room[n].state=1;</p><p> customer[i]->set_room_number(room[n].number);</p><p><b> break;</b></p><p><b> }</b></p><p>
131、;<b> }</b></p><p><b> break; </b></p><p><b> case 4:</b></p><p> cout<<"住房費(fèi)用總共為: "<<day*600<<"元\n"; <
132、;/p><p> for(n=60;n<80;n++)</p><p><b> {</b></p><p> if(room[n].state==0)</p><p><b> {</b></p><p> cout<<"預(yù)定成功★房間號(hào)碼
133、為: "<<room[n].number<<endl;</p><p> room[n].state=1;</p><p> customer[i]->set_room_number(room[n].number);</p><p><b> break;</b></p><p&
134、gt;<b> }</b></p><p><b> }</b></p><p><b> break; </b></p><p><b> } </b></p><p> i++; //住房的顧客數(shù)加1</p><p
135、><b> }</b></p><p> //入住登記***************************************************************************</p><p> void check_in()</p><p><b> {</b></p>
136、;<p> char name1[10],id1[19];</p><p> int ding_or_no,prepaid;</p><p> cout<<"該顧客訂房了嗎? (1->訂了 2->沒(méi)訂) ";</p><p> cin>>ding_or_no;</p>&l
137、t;p> if(ding_or_no==1)</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入顧客的姓名:"<<endl;</p><p> cin>>name1;</p><p> cout<<"請(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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 客房管理系統(tǒng)課程設(shè)計(jì)
- 客房管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 賓館客房管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-客房管理系統(tǒng)
- c++課程設(shè)計(jì)賓館客房管理系統(tǒng)
- 酒店客房管理系統(tǒng)課程設(shè)計(jì)
- 酒店客房管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)客房管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)-賓館客房管理軟件
- 軟件工程課程設(shè)計(jì)--- 賓館客房管理系統(tǒng)
- 賓館客房管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 關(guān)于酒店管理的課程設(shè)計(jì)--旅館客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)應(yīng)用課程設(shè)計(jì)--客房管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-賓館客房管理軟件
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)--賓館客房管理系統(tǒng)
- c++課程設(shè)計(jì)--酒店客房管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-酒店客房管理系統(tǒng)
- 課程設(shè)計(jì)---賓館客房管理程序的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論