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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  計算機學院課程設(shè)計報告</p><p>  課程名稱: C++課程設(shè)計 </p><p>  課 題: 客房管理系統(tǒng) </p><p>  專業(yè)班級: </p><p>  學 號: </p><p>  姓

2、 名: </p><p>  指導老師: </p><p>  日 期: 2013年7 月3 日 </p><p><b>  目錄</b></p><p>  1.課題簡介………………………………………03 </p><p>

3、  2.設(shè)計方案………………………………………04</p><p>  3.具體設(shè)計及截屏圖……………………………05</p><p>  4.關(guān)鍵代碼分析…………………………………10</p><p>  5.測試……………………………………………15</p><p>  6.課題總結(jié)與體會………………………………17</p>

4、<p>  7.參考文獻………………………………………18</p><p>  8.源代碼…………………………………………19</p><p><b>  1.課題簡介</b></p><p>  客房管理系統(tǒng)是根據(jù)某酒店對客房管理的實際情況進行編寫的,主要目的是為了方便酒店對客房的實際情況進行集中的查詢與管理工作,以提高整個酒店的

5、工作。</p><p>  經(jīng)過電腦及生活中的調(diào)查研究,根據(jù)客人的經(jīng)濟水平和生活理念,客房的類型已趨向于多樣化,有標準房,單人房,VIP間,甚至總統(tǒng)套房。而初步設(shè)定通過客房的編號、類型、價格來定位一個客房的管理系統(tǒng)。</p><p>  客房是一個對外服務(wù)的內(nèi)容,為了客人的住宿要求,所以系統(tǒng)需要實現(xiàn)客房信息的錄入、修改和刪除功能。</p><p>  客人對剩余客房

6、需要進行選擇,系統(tǒng)必須實現(xiàn)相應的查詢、排序和輸出功能,使客人擇優(yōu)而居。</p><p>  主要實現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢、排序、輸出??头啃畔⒖蓪懭胛募?,也可從文件中讀取。客房信息涉及的數(shù)據(jù)有客房編號、客房類型、住房天數(shù)、訂金、客戶姓名、客戶身份證號碼等。</p><p><b>  2.設(shè)計方案</b></p>&l

7、t;p>  按照需求分析所得,客房信息系統(tǒng)有以下幾個功能模塊:</p><p><b>  新建兩個類;</b></p><p>  分別為Customer和HolterRoom ,其中Customer為基類,HolterRoom通過</p><p>  共有繼承,成為Customer的派生類。</p><p> 

8、 錄入,增添客房信息;</p><p>  先判斷是否已存在客房信息,如果已存在,則再選擇是否添加;若不存在,則添加客房信息。</p><p><b>  3.修改客房信息;</b></p><p>  讀取保存的客房信息數(shù)據(jù),根據(jù)客房編號查找所需修改的客房信息,然后根據(jù)具體所需,修改成員參數(shù)。</p><p>  4.

9、刪除客房信息模塊;</p><p>  從保存中的文件中讀取信息,刪除需要刪除的信息,完善現(xiàn)在的客房運作。</p><p><b>  5.查詢客房函數(shù);</b></p><p>  分按編號、類型、客戶姓名查找客房信息,這樣可以更具有人性化來選擇所剩余的客房,從而進行日常安排。</p><p>  7.輸出剩余客房函數(shù)

10、;</p><p>  輸出根據(jù)系統(tǒng)所需排序后的客房信息,本系統(tǒng)中是根據(jù)了客人入住的有效期即天數(shù)來及時了解空出的房間。</p><p>  由上述需求分析可得,系統(tǒng)的功能模塊圖如圖1所示。 圖1</p><p>  2.具體設(shè)計及截屏圖</p><p><

11、;b>  1、類的設(shè)計</b></p><p>  根據(jù)上述需求分析,有客房類和客戶類。</p><p><b>  客戶類</b></p><p>  客戶類中的主要成員有:name為客戶姓名,ID為客戶身份證號碼,money為客戶訂金,StayTime為將要入住客房時長。</p><p><b

12、>  (2)客房類</b></p><p>  客房類中的主要成員有:num是客房編號,Type是客房類型,Price是客房價格, HolterRoom()為客房類的構(gòu)造函數(shù),同時Customer類中的成員均是客房類的成員。</p><p><b>  2.界面設(shè)計:</b></p><p>  (1) 主界面的設(shè)計</

13、p><p>  主界面中顯示客房管理系統(tǒng)的全部信息,客房信息的錄入,客人入住登記,客房信息的修改,客人退房結(jié)算,查詢所有客房信息,查詢(包括按房間號,按房間類型,按客戶姓名查詢,同時還有輸出所有空房信息),刪除客房信息。</p><p>  酒店客房管理系統(tǒng)如圖1所示。</p><p><b>  圖2 主界面</b></p><

14、;p> ?。?)分界面:客房信息查詢設(shè)計</p><p>  分別實現(xiàn)按姓名,按房間號和按房間類型查詢客房信息的功能,還可實現(xiàn)輸出所有空房信息的功能。客房信息錄入如圖2所示。</p><p>  圖3錄入客房信息的分界面</p><p>  (4)分界面:客房信息的修改的設(shè)計</p><p>  提示根據(jù)編號尋找到客房并輸出該客房內(nèi)容,

15、然后詢問用戶是否要修改客房信息,修改界面如圖所示。</p><p>  圖4 修改客房信息的分界面</p><p>  (5)分界面:客房信息的刪除的設(shè)計</p><p>  提示根據(jù)編號尋找到客房并輸出該客房內(nèi)容,然后詢問用戶是否要刪除客房信息</p><p>  ,修改界面如圖所示。</p><p>  圖5 刪除

16、客房信息的分界面</p><p> ?。?)分界面:剩余客房信息的查詢的設(shè)計</p><p>  在保存完所修改或刪除的客房信息,查詢剩余的客房信息,可瀏覽所有空房信息。查詢空房的信息界面如圖6所示。</p><p>  圖6 查詢客房信息的分界面</p><p> ?。?)分界面:所有信息的輸出的設(shè)計</p><p>

17、;  在排序完后的所有客房中,輸出所有客房的信息,以檢驗客房的經(jīng)營情況。所有客房信息輸出界面如圖7所示。</p><p>  圖7 所有客房的信息</p><p><b>  4.關(guān)鍵代碼分析</b></p><p><b> ?。?)系統(tǒng)的登錄</b></p><p>  在主函數(shù)中,輸出客房信息

18、系統(tǒng)的各功能提示。選擇需要執(zhí)行功能的序號,由switch判斷和選擇所需要執(zhí)行的功能。</p><p>  選擇1:執(zhí)行客房信息的錄入;</p><p>  選擇2:執(zhí)行客人入住登記;</p><p>  選擇3:執(zhí)行教工客房信息的修改;</p><p>  選擇4:執(zhí)行客人退房結(jié)算;</p><p>  選擇5:執(zhí)行查

19、詢所有客房信息;</p><p><b>  選擇6:執(zhí)行查詢;</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)建客房對象數(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.查詢所有客房信息 \n\n";</p><p>  cout<<" 6.查詢系統(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、 請選擇:";</p><p>  int choose=0;</p><p>  cin>>choose;</p><p>  system("cls");</p><p>  switch (choose) //用戶

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; //客戶退房</p><p>  case 5:PrintAll(Room); break; //

31、查詢所有客房信息</p><p>  case 6:Find_choose(Room); break; //查詢</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ù)據(jù)到程序中,避免了程序的重復輸入數(shù)據(jù),既實現(xiàn)了程序的多次可持續(xù)地使用,又有利于

34、后面的信息修改、刪除等功能。</p><p>  void Read(HolterRoom *Room) //讀取數(shù)據(jù)庫</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)建一個輸入文件流對象,讀取文件夾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類和Room對象數(shù)組 ,調(diào)用構(gòu)造函數(shù),輸入客房的房間編號、房間類型、定房日期、房間價格、房間內(nèi)容及個人的入住有效期。 </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<<"暫無房間信息,請?zhí)砑樱?quot;<<endl;</p>

39、<p>  static int Number=700;</p><p>  cout<<"請輸入要添加的房間數(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<<"房間號碼:"<<Room[i].num;cout<<endl;</p><p>  cout<<"房間類型:";</p><p>  cin>

41、;>Room[i].Type;</p><p>  cout<<"房間價格:";</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>  刪除客房信息,按要求提示輸入要刪除客房的房間編號,通過for循環(huán)和if語句尋找到要刪除的客房,并顯示其信息,然后詢問用戶是否要刪除客房信息,通過 if語句進行判斷,若輸入“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<<"請輸入要刪除的房間號:";</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<<"房間類型:";</p><p>  cout<<Room[i].Type<<endl;</p><p>  cou

50、t<<"房間價格:";</p><p>  cout<<Room[i].Price<<endl;</p><p>  cout<<"客戶信息:"<<endl;</p><p>  cout<<"客戶身份證號碼:";</p>

51、<p>  cout<<Room[i].ID<<endl;</p><p>  cout<<"客戶姓名:";</p><p>  cout<<Room[i].name<<endl;</p><p>  cout<<"訂金";</p>

52、<p>  cout<<Room[i].money<<endl;</p><p>  cout<<"確定要刪除客房信息?(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="無";</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>  修改客房信息,按要求提示輸入要修改客房的房間編號,通過for循環(huán)和if語句尋找到要修改的客房,并顯示其信息,然后詢問用戶是否要修改客房信息,通過 if語句進行判斷,若輸入“Y”則進行逐條修改,若為“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<<"請輸入要修改的房間號碼:"<<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<<"房間類型:";</p><p>  cout<<Room[i].Type<<end

62、l;</p><p>  cout<<"房間價格:";</p><p>  cout<<Room[i].Price<<endl;</p><p>  cout<<"客戶姓名:";</p><p>  cout<<Room[i].name;cou

63、t<<endl;</p><p>  cout<<"客戶身份證號碼:";</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<<"客戶姓名:";</p><p>  cin>>_name;</p><p>  Room[i].name=_name;</p><p>  cout<<endl;</p><p>  cout<<&

67、quot;客戶身份證號碼:";</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<<"退房時間延長至";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<<"查無此房!"<<endl<<endl;</p><p><b>  };</b></

72、p><p>  system("pause");</p><p>  system("cls");</p><p><b>  };</b></p><p><b>  5.測試</b></p><p>  程序測試是將編制的程序投入實際運

73、行前,用手工或編譯程序等方法進行測試,修正語法錯誤和邏輯錯誤的過程。</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<<"房間號碼:&qu

75、ot;<<Room[i].num;cout<<endl;</p><p>  cout<<"房間類型:";</p><p>  cin>>Room[i].Type;</p><p>  cout<<"房間價格:";</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>  編譯成功后開始運行,信息錄入后,第一次調(diào)用函數(shù)可以正確添加房間信息,但第二次調(diào)用后,會覆蓋第一次的記錄,無法正確添加房間;經(jīng)思索后,發(fā)現(xiàn)加入個for循環(huá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<<"房間號碼:"<<Room[i].n

81、um;cout<<endl;</p><p>  cout<<"房間類型:";</p><p>  cin>>Room[i].Type;cout<<endl;</p><p>  cout<<"房間價格:";</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é)與體會</b></p>

85、;<p>  短學期的課程設(shè)計是一次非常珍貴的機會,這是一次可以讓我們所學的理論與實</p><p>  際相結(jié)合的機會。通過這次比較完整的一個程序的設(shè)計,我走出了純理論的學習,</p><p>  從一種全新的角度去學習。</p><p>  其實個人而言,我體會較深的一點是團隊互相幫助學習的過程,自己看書學</p><p>

86、  習的經(jīng)驗,以及從網(wǎng)上以及其他各種途徑獲得信息和知識的經(jīng)驗。理論與實際相結(jié)</p><p>  合的設(shè)計,鍛煉了我綜合運用所學的基礎(chǔ)知識,解決實際問題的能力,同時也提高</p><p>  我查閱文獻資料、對程序整體的把握等其他能力水平。而且通過對整體的掌控,對</p><p>  局部的取舍,都使我的能力得到了鍛煉,我的各方面經(jīng)驗都得到了極大的豐富。</p

87、><p>  在面對各種陌生知識的時候,隊友的耐心與任性,對于知識的渴求,對于工作的</p><p>  專注,極大程度上鼓舞了我。我們在交流中,迸發(fā)出了很多設(shè)計靈感,互相建議改</p><p>  進的過程中,我們分別從各個方面共同改進著,這個已經(jīng)不能僅僅稱作課程設(shè)計的</p><p><b>  作品。</b></

88、p><p>  從知識獲得方面來說,各種已經(jīng)學習到的C++知識以及各種從網(wǎng)上搜索來的案例,</p><p>  我們都是隨著設(shè)計的不斷深入而不斷熟悉的。和老師以及同學的溝通交流更使我對</p><p>  程序整體的規(guī)劃與設(shè)計有了新的認識,也對自己提出了新的要求。提高是有限的但</p><p>  提高也是全面的。正是這一次設(shè)計讓我積累了許多實際

89、經(jīng)驗。也必然會讓我在未來</p><p>  的工作學習中表現(xiàn)出更高的耐力、理解力、實踐力。順利如期的完成本次課程設(shè)計</p><p>  給了我很大的信心,但是也為我指出很多不足的地方。學習其實就是一個不斷完善</p><p>  的過程,正視自己的不足之處。在以后的工作和學習中不斷的彌補這些不足之處,</p><p>  在以后的生活中也

90、要保持同樣的態(tài)度,不斷地完善自己。</p><p><b>  7.參考文獻</b></p><p>  【1】鄭莉.《C++教程》.人民郵電出版社.</p><p>  【2】譚浩強.《C語言程序設(shè)計》.清華大學出版社.</p><p>  【3】沈紀新.《Visual C++使用速成》.清華大學出版社.</p&

91、gt;<p><b>  8.源代碼</b></p><p>  //客房管理系統(tǒng)主要實現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢、排序、輸出??头啃畔⒖蓪懭胛募部蓮奈募凶x取。</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="無";</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("客戶信息.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<<"房間號碼:"<<Room[i]

105、.num<<"\t"</p><p>  <<"房間類型:"<<"\t"</p><p>  <<Room[i].Type<<"\t"</p><p>  <<"房間價格:"<<&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!="無")</p><p><b>  {</b></p><p>  C<<"房間類型:";</p><p>  C<<Room[i].Type<<endl;</p><p&

109、gt;  C<<"房間價格:";</p><p>  C<<Room[i].Price<<endl;</p><p>  C<<"客戶身份證號碼:";</p><p>  C<<Room[i].ID<<endl;</p><p> 

110、 C<<"客戶姓名:";</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<<"房間號碼:&qu

114、ot;;</p><p>  cout<<Room[i].num<<"\t";</p><p>  cout<<"房間類型:";</p><p>  cout<<Room[i].Type<<"\t";</p><p>  c

115、out<<"房間價格:";</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<<"暫無空房!";</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.通過房號查詢客房 \n\n";</p><p>  cout<<" 2.通過類型查詢客房 \n\n";</p><p>  cout<<"

120、 3.通過客戶姓名查詢客房 \n\n";</p><p>  cout<<" 4.查詢所有空房 \n\n";</p><p>  cout<<" 5.返回主菜單

121、 \n\n";</p><p>  cout<<" 請選擇:";</p><p>  int choose=0;</p><p>  cin>>choose;</p><p>  system("cls");</p><p

122、>  switch (choose) //用戶的選擇</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、 //客戶退房</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<<"請輸入要

126、刪除的房間號:";</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<<"房間類型:";</p><p>  cout<<Room[i].Type<<endl;</

128、p><p>  cout<<"房間價格:";</p><p>  cout<<Room[i].Price<<endl;</p><p>  cout<<"客戶信息:"<<endl;</p><p>  cout<<"客戶身份證

129、號碼:";</p><p>  cout<<Room[i].ID<<endl;</p><p>  cout<<"客戶姓名:";</p><p>  cout<<Room[i].name<<endl;</p><p>  cout<<&quo

130、t;訂金";</p><p>  cout<<Room[i].money<<endl;</p><p>  cout<<"確定要刪除客房信息?(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="無";</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<<"請輸入房間號碼:";</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<<"房間類型:";</p><p>  cout<<Room[i].Type<<endl;</p><p>  cout<<"房間價格:";</p><p>  c

139、out<<Room[i].Price<<endl;</p><p>  cout<<"客戶信息!:"<<endl;</p><p>  cout<<"客戶身份證號碼:";</p><p>  cout<<Room[i].ID<<endl;<

140、;/p><p>  cout<<"客戶姓名:";</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<<"請確定是否要退房(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="無";</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<<"查無此房!";</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<<"房間號碼:"<<Room[i].num;cout<<endl;</p&

151、gt;<p>  cout<<"房間類型:";</p><p>  cin>>Room[i].Type;cout<<endl;</p><p>  cout<<"房間價格:";</p><p>  cin>>Room[i].Price;</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論