2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論