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

下載本文檔

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

評(píng)論

0/150

提交評(píng)論