2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩27頁(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>  1.課題簡(jiǎn)介………………………………………03 </p><p>  2.設(shè)計(jì)方案………………………………………04</p><p>  3.具體設(shè)計(jì)及截屏圖……………………………05</p><p>  4.關(guān)鍵代碼分析…………………………………10</p><p>  5.測(cè)試……………………………………………15&

2、lt;/p><p>  6.課題總結(jié)與體會(huì)………………………………17</p><p>  7.參考文獻(xiàn)………………………………………18</p><p>  8.源代碼…………………………………………19</p><p><b>  1.課題簡(jiǎn)介</b></p><p>  客房管理系統(tǒng)是根據(jù)某酒店

3、對(duì)客房管理的實(shí)際情況進(jìn)行編寫的,主要目的是為了方便酒店對(duì)客房的實(shí)際情況進(jìn)行集中的查詢與管理工作,以提高整個(gè)酒店的工作。</p><p>  經(jīng)過(guò)電腦及生活中的調(diào)查研究,根據(jù)客人的經(jīng)濟(jì)水平和生活理念,客房的類型已趨向于多樣化,有標(biāo)準(zhǔn)房,單人房,VIP間,甚至總統(tǒng)套房。而初步設(shè)定通過(guò)客房的編號(hào)、類型、價(jià)格來(lái)定位一個(gè)客房的管理系統(tǒng)。</p><p>  客房是一個(gè)對(duì)外服務(wù)的內(nèi)容,為了客人的住宿要

4、求,所以系統(tǒng)需要實(shí)現(xiàn)客房信息的錄入、修改和刪除功能。</p><p>  客人對(duì)剩余客房需要進(jìn)行選擇,系統(tǒng)必須實(shí)現(xiàn)相應(yīng)的查詢、排序和輸出功能,使客人擇優(yōu)而居。</p><p>  本次課程設(shè)計(jì)需要實(shí)現(xiàn)的是——客房管理系統(tǒng)的鏈表實(shí)現(xiàn)。</p><p>  主要實(shí)現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢、排序、輸出??头啃畔⒖蓪懭胛募部蓮奈募凶x取

5、??头啃畔⑸婕暗臄?shù)據(jù)有客房編號(hào)、客房類型、定房日期、客房?jī)?nèi)容(設(shè)施)、定房有效期等。</p><p><b>  2.設(shè)計(jì)方案</b></p><p>  按照需求分析所得,客房信息系統(tǒng)有以下幾個(gè)功能模塊:</p><p>  1.添加錄入信息模塊;</p><p>  編寫指針摸板,定義臨時(shí)的客房間數(shù),包括其各項(xiàng)類的成

6、員,編號(hào),類型,定房日期,價(jià)格,客房?jī)?nèi)容,入住天數(shù)。</p><p>  3.修改客房信息模塊;</p><p>  讀取保存的客房信息數(shù)據(jù),根據(jù)客房編號(hào)查找所需修改的客房信息,然后根據(jù)具體所需,修改成員參數(shù),并保存。</p><p>  4.刪除客房信息模塊;</p><p>  從保存中的文件中讀取信息,刪除需要?jiǎng)h除的信息,完善現(xiàn)在的客房

7、運(yùn)作。</p><p>  5.查詢剩余客房函數(shù);</p><p>  分按編號(hào)、類型、價(jià)格查詢,這樣可以更具有人性化來(lái)選擇所剩余的客房,從而進(jìn)行日常安排。</p><p>  6.排序剩余客房模塊;</p><p>  根據(jù)具體所需排序,可以是編號(hào)、價(jià)格或者類型,本系統(tǒng)中根據(jù)的是客房入住的天數(shù)來(lái)排序。</p><p>

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

9、<p><b>  1、類的設(shè)計(jì)</b></p><p>  根據(jù)上述需求分析,有客房類和鏈表類。</p><p><b> ?。?)客房類</b></p><p>  系統(tǒng)研究客房cGuestroom類中成員: ID[SIZE]是客房編號(hào),Type[SIZE]是客房類型,Book[SIZE]是定房日期,Pric

10、e[SIZE]是每間客房的價(jià)格,StayTime[SIZE]是定房的有效期,F(xiàn)unction[SIZE]是客房的主要內(nèi)容(如浴室、衛(wèi)生間、網(wǎng)線等設(shè)施),標(biāo)志flag和構(gòu)造函數(shù)cGuestroom()??头款惖腢ML圖如(圖2)所示:</p><p><b>  圖2</b></p><p><b> ?。?)鏈表類</b></p>

11、<p>  在tList類中,有成員:構(gòu)造函數(shù)tList(),創(chuàng)建鏈表Create(),判斷鏈表是否為空的函數(shù)Empty() const,從尾部插入一個(gè)元素的函數(shù)Insert(const T e),返回第i個(gè)節(jié)點(diǎn)的函數(shù)GetcNode(int i),在鏈表中查詢某個(gè)值的函數(shù)bool Find(const T e),析構(gòu)函數(shù)~tList(),頭節(jié)點(diǎn)head。鏈表類的UML圖如(圖3)所示:</p><p>

12、;<b>  圖3</b></p><p><b>  2.界面設(shè)計(jì):</b></p><p>  (1) 主界面的設(shè)計(jì)</p><p>  主界面中顯示客房管理系統(tǒng)的全部信息,客房信息的錄入,客房信息的保存,客房信息的修改,客房信息的刪除,剩余客房的查詢,剩余客房的排序,剩余客房的輸出,客房信息管理系統(tǒng)如圖4所示。<

13、;/p><p><b>  圖4 主界面</b></p><p> ?。?)分界面:客房信息的錄入的設(shè)計(jì)</p><p>  提示輸入客房編號(hào),客房類型,客人定房日期,客房?jī)r(jià)格,客房中的主要內(nèi)容,客房定房的有效期??头啃畔浫肴鐖D5所示。</p><p>  圖5 錄入客房信息的分界面</p><p>

14、;  (3)分界面:客房信息的保存的設(shè)計(jì)</p><p>  針對(duì)第一步客房信息的輸入及以后信息的修改、刪除做一個(gè)文件保存??头啃畔⒈4嫒鐖D6所示。</p><p>  圖6 保存客房信息的分界面</p><p> ?。?)分界面:客房信息的修改的設(shè)計(jì)</p><p>  提示根據(jù)編號(hào)進(jìn)行客房信息修改,輸入要修改的內(nèi)容,如不修改的項(xiàng)目就遠(yuǎn)洋輸

15、出。客房信息修改界面如圖7所示。</p><p>  圖7 修改客房信息的分界面</p><p> ?。?)分界面:客房信息的刪除的設(shè)計(jì)</p><p>  提示進(jìn)入刪除截面,根據(jù)客房編號(hào)查找所需刪除的客房信息??头啃畔⒌膭h除界面如圖8所示。</p><p>  圖8 刪除客房信息的分界面</p><p> ?。?)分

16、界面:剩余客房信息的查詢的設(shè)計(jì)</p><p>  在保存完所修改或刪除的客房信息,查詢剩余的客房信息,按提示進(jìn)入剩余客房查詢界面,有按編號(hào)、類型、價(jià)格查詢,根據(jù)擁護(hù)自主選擇。查詢剩余客房的信息界面如圖9所示。</p><p>  圖9 查詢客房信息的分界面</p><p> ?。?)剩余客房信息的排序的設(shè)計(jì)</p><p>  按提示進(jìn)行剩

17、余客房的排序,本系統(tǒng)中是以客人的入住天數(shù)排序,顯示屏幕如圖10所示。</p><p> ?。?)分界面:剩余客房信息的輸出的設(shè)計(jì)</p><p>  在排序完后的剩余客房中,輸出所有客房的信息,以檢驗(yàn)客房的經(jīng)營(yíng)情況。剩余客房信息輸出界面如圖10所示。</p><p>  圖10 輸出剩余客房的信息</p><p><b>  4.關(guān)

18、鍵代碼分析</b></p><p><b> ?。?)系統(tǒng)的登錄</b></p><p>  在主函數(shù)中,輸出客房信息系統(tǒng)的各功能提示。選擇需要執(zhí)行功能的序號(hào),由switch判斷和選擇所需要執(zhí)行的功能。</p><p>  選擇1:執(zhí)行客房信息的錄入;</p><p>  選擇2:執(zhí)行保存客房的信息;<

19、/p><p>  選擇3:執(zhí)行教工基本信息的保存;</p><p>  選擇4:執(zhí)行教工基本信息的刪除;</p><p>  選擇5:執(zhí)行教工工資按從高到低排序;</p><p>  選擇6:執(zhí)行教工基本信息的修改;</p><p>  選擇7:執(zhí)行教工基本信息的查詢;</p><p><b&

20、gt;  選擇8:退出;</b></p><p><b>  主函數(shù):</b></p><p>  int main()</p><p>  { tList<cGuestroom> tListMedic;</p><p>  tListMedic.Create();

21、 //創(chuàng)建鏈表</p><p>  ReadData(&tListMedic);</p><p><b>  while(1)</b></p><p>  { cout<<"\n\n 客房管理系統(tǒng) \n\n";</p>

22、;<p>  cout<<" ---------------------------------- \n\n";</p><p>  cout<<" 1.客房信息的錄入 \n\n";</p><p>  cout<<"

23、2:客房信息保存\n\n";</p><p>  cout<<" 3.客房信息的修改 \n\n";</p><p>  cout<<" 4.客房信息的刪除 \n\n";</p><p>  

24、cout<<" 5.剩余客房信息的查詢 \n\n";</p><p>  cout<<" 6.剩余客房信息的排序 \n\n";</p><p>  cout<<" 7.剩余客房信息的輸出

25、 \n\n";</p><p>  cout<<" 8.退 出 系 統(tǒng) \n\n";</p><p>  cout<<" 請(qǐng)選擇:";</p><p>  int choose=0;</p>&

26、lt;p>  cin>>choose;</p><p>  switch (choose) //用戶選擇</p><p>  { case 1:AddtheGuestroom(&tListMedic); break; //輸入客房信息</p><p&g

27、t;  case 2:SaveData(&tListMedic);break; //客房信息信息保存</p><p>  case 3:ModifytheGuestroom(&tListMedic); break; //修改客房信息</p><p>  case 4:DeletetheGuestroom(&tListMedi

28、c); break; //刪除客房信息</p><p>  case 5:FindtheremainGuestroom(&tListMedic); break; //查詢剩余客房信息</p><p>  case 6:RanktheremainGuestroom(&tListMedic); break; //排序剩余客房信息</p><p&

29、gt;  case 7:OutputtheremainGuestroom(&tListMedic); break; //輸出剩余客房信息</p><p>  case 8:exit(0); //退出</p><p>  default : break;} </p><p>  retu

30、rn 0; }</p><p><b>  }</b></p><p>  在讀取數(shù)據(jù)庫(kù)中,可以從以有的文件中讀取數(shù)據(jù)到程序中,避免了程序的重復(fù)輸入數(shù)據(jù),有利于后面的信息修改、刪除等功能。</p><p><b>  讀取數(shù)據(jù)庫(kù):</b></p><p>  void ReadData(tList&

31、lt;cGuestroom> *tListMedic) //讀取數(shù)據(jù)庫(kù)</p><p><b>  {</b></p><p>  char buf[BUFSIZE]; </p><p>  ifstream ifile("Guestroom.txt",ios_base::in);//創(chuàng)建一個(gè)輸出文件流對(duì)

32、象</p><p>  if (!ifile) </p><p><b>  { </b></p><p>  cerr << "讀取時(shí)打開(kāi)文件出錯(cuò)!" << endl; </p><p><b>  } </b></p><p>

33、  cGuestroom Guestroom;</p><p>  while(ifile.getline(buf,BUFSIZE)) //遍歷文本,讀取數(shù)據(jù)</p><p><b>  {</b></p><p>  ifile.getline(buf,BUFSIZE);</p><p>  str

34、cpy(Guestroom.ID,buf); //讀取客房編號(hào)</p><p>  memset(buf,0,BUFSIZE);</p><p>  ifile.getline(buf,BUFSIZE); //讀取客房類型</p><p>  strcpy(Guestroom.Type,buf);</p>

35、<p>  memset(buf,0,BUFSIZE);</p><p>  ifile.getline(buf,BUFSIZE); //讀取提前定房日期</p><p>  strcpy(Guestroom.Book,buf);</p><p>  memset(buf,0,BUFSIZE);</p><p&

36、gt;  ifile.getline(buf,BUFSIZE); //讀取價(jià)格</p><p>  strcpy(Guestroom.Price,buf);</p><p>  memset(buf,0,BUFSIZE);</p><p>  ifile.getline(buf,BUFSIZE); //讀取客房主要內(nèi)容

37、</p><p>  strcpy(Guestroom.Function,buf);</p><p>  memset(buf,0,BUFSIZE);</p><p>  ifile.getline(buf,BUFSIZE); //讀取入住有效期</p><p>  Guestroom.StayTime=atoi(bu

38、f);</p><p>  memset(buf,0,BUFSIZE);</p><p>  Guestroom.flag=true;</p><p>  tListMedic->Insert(Guestroom);</p><p><b>  }</b></p><p>  cout<

39、;<"讀取數(shù)據(jù)成功!\n\n";</p><p>  ifile.close(); //關(guān)閉文件</p><p><b>  return;</b></p><p><b>  }</b></p><p><

40、b> ?。?)信息的添加</b></p><p>  客房信息的錄入,創(chuàng)建cGuestroom類和tempGuestroom對(duì)象,調(diào)用構(gòu)造函數(shù),輸入客房的房間編號(hào)、房間類型、定房日期、房間價(jià)格、房間內(nèi)容及個(gè)人的入住有效期,通過(guò)Insert函數(shù)實(shí)現(xiàn)。</p><p>  void AddtheGuestroom(tList<cGuestroom> *tListM

41、edic) // 輸入客房函數(shù)</p><p>  { cGuestroom tempGuestroom; //定義臨時(shí)客房</p><p>  cout<<"下面開(kāi)始添加客房信息\n";</p><p>  cout<<"請(qǐng)輸入入住的客房編號(hào):"

42、;;</p><p>  cin>>tempGuestroom.ID; //讀入客房編號(hào)</p><p>  cout<<"請(qǐng)輸入客房類型:";</p><p>  cin>>tempGuestroom.Type;

43、 //讀入客房類型</p><p>  cout<<"請(qǐng)輸入客人定房日期:";</p><p>  cin>>tempGuestroom.Book; //讀入定房日期</p><p>  cout<<"請(qǐng)輸入客房?jī)r(jià)格:";</p&

44、gt;<p>  cin>>tempGuestroom.Price; //讀入價(jià)格</p><p>  cout<<"請(qǐng)輸入客房的主要內(nèi)容:";</p><p>  cin>>tempGuestroom.Function;

45、 //讀入主要內(nèi)容</p><p>  cout<<"請(qǐng)輸入客房入住有效期:";</p><p>  cin>>tempGuestroom.StayTime; //讀入入住有效期</p><p>  tempGuestroom.flag=true;</p>&

46、lt;p>  tListMedic->Insert(tempGuestroom);</p><p>  cout<<"添加成功!\n";</p><p>  system("pause");</p><p>  system("cls");</p><p>&

47、lt;b>  }</b></p><p><b> ?。?)信息的刪除</b></p><p>  刪除客房信息,按要求提示輸入要?jiǎng)h除客房的房間編號(hào),定義一個(gè)指向鏈表第一個(gè)節(jié)點(diǎn)的指針p。如果指針創(chuàng)建成功,開(kāi)始用while和if語(yǔ)句實(shí)現(xiàn)p指向的節(jié)點(diǎn)的客房編號(hào)與存在的客房編號(hào)的比較。如果相同,輸出該客房的信息并刪除;如果沒(méi)有相同的,提示沒(méi)有所查詢的房間。

48、</p><p>  void DeletetheGuestroom(tList<cGuestroom> *tListMedic) //刪除客房信息</p><p>  { char id[BUFSIZE];</p><p>  cout<<"\n請(qǐng)輸入你要查找的客房編號(hào):";</p><p&

49、gt;  cin>>id; //讀取客房編號(hào)</p><p>  bool flag=false;</p><p>  int count=0;</p><p>  cNode<cGuestroom> *p;</p><p>  

50、p=tListMedic->head->next;</p><p><b>  while(p)</b></p><p>  { if(strcmp(p->data.ID,id)==0 && p->data.flag)</p><p>  { count++;</p><p&g

51、t;  flag=true;</p><p><b>  break;}</b></p><p>  p=p->next;}</p><p>  if(flag==false) cout<<"對(duì)不起,你所查找的客房延長(zhǎng)了住房日期!\n";</p><p><b> 

52、 //如果不能刪</b></p><p>  else //如果能刪 </p><p>  { count--;</p><p>  cout<<"找到了,該客房的原始信息是:\n";</p><p&g

53、t;  cout<<"\n\n客房編號(hào):"<<(p->data).ID<<"\t客房類型:"<<(p->data).Type<<"\n\t\t定房日期:"<<(p->data).Book<<"\n\t\t價(jià)格:"<<(p->data).Pr

54、ice;</p><p>  cout<<"\n\t\t客房的主要內(nèi)容:"<<(p->data).Function<<"\n\t\t入住有效期:"<<(p->data).StayTime;</p><p>  cout<<endl;</p><p>  (

55、p->data).flag=false;</p><p>  cout<<"該客房的信息刪除成功!\n";} </p><p>  cout<<endl;</p><p>  system("pause");</p><p>  system("cls"

56、);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  (4)信息的修改</b></p><p>  按提示輸入要修改的客房的客房編號(hào),定義一個(gè)指向鏈表第一個(gè)節(jié)點(diǎn)的指針p。如果指針創(chuàng)建成功,開(kāi)始用while和

57、if語(yǔ)句實(shí)現(xiàn)p指向的節(jié)點(diǎn)的客房編號(hào)與存在的客房編號(hào)的比較。如果相同,提示輸入房間的各個(gè)信息;如果沒(méi)有相同,提示沒(méi)有所查詢的客房。</p><p>  void ModifytheGuestroom(tList<cGuestroom> *tListMedic) //修改客房信息</p><p>  { char id[BUFSIZE];</p><p&

58、gt;  cout<<"\n請(qǐng)輸入你要查找的客房編號(hào):";</p><p>  cin>>id; //讀取客房編號(hào)</p><p>  bool flag=false;</p><p>  cNode<cGuestroom&

59、gt; *p;</p><p>  p=tListMedic->head->next;</p><p><b>  while(p)</b></p><p>  { if(strcmp(p->data.ID,id)==0 && p->data.flag)</p><p>  

60、{ flag=true;</p><p><b>  break;}</b></p><p>  p=p->next;}</p><p>  if(flag==true) </p><p>  { cout<<"找到了,該客房的原始信息是:\n";</p&

61、gt;<p>  cout<<"\n\n客房編號(hào):"<<(p->data).ID<<"\t客房類型:"<<(p->data).Type<<"\n\t\t定房日期:"<<(p->data).Book<<"\n\t\t價(jià)格:"<<(p-

62、>data).Price;</p><p>  cout<<"\n\t\t客房的主要內(nèi)容:"<<(p->data).Function<<"\n\t\t入住有效期:"<<(p->data).StayTime;</p><p>  cout<<"\n下面開(kāi)始修改該客房

63、的信息:\n";</p><p>  cGuestroom tempGuestroom; //定義臨時(shí)客房</p><p>  cout<<"請(qǐng)輸入客房的客房編號(hào):";</p><p>  cin>>tempGuestroom.ID;

64、 //讀入客房編號(hào)</p><p>  cout<<"請(qǐng)輸入客房的客房類型:";</p><p>  cin>>tempGuestroom.Type; //讀入客房類型</p><p>  cout<<"請(qǐng)輸入客人的定房日期:&q

65、uot;;</p><p>  cin>>tempGuestroom.Book; //讀入定房日期</p><p>  cout<<"請(qǐng)輸入客房的客房?jī)r(jià)格:";</p><p>  cin>>tempGuestroom.Price;

66、 //讀入價(jià)格</p><p>  cout<<"請(qǐng)輸入客房的客房主要內(nèi)容:";</p><p>  cin>>tempGuestroom.Function; //讀入客房的主要內(nèi)容</p><p>  cout<<"請(qǐng)輸入客人入住客房有效期

67、:";</p><p>  cin>>tempGuestroom.StayTime; //讀入入住有效期</p><p>  tempGuestroom.flag=true;</p><p>  p->data=tempGuestroom;</p><p>  cout&l

68、t;<"修改成功!";}</p><p>  cout<<endl;</p><p>  system("pause");</p><p>  system("cls");</p><p><b>  return;}</b></p>

69、;<p><b>  5.測(cè)試</b></p><p>  程序測(cè)試是將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序等方法進(jìn)行測(cè)試,修正語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤的過(guò)程。</p><p><b>  原程序:</b></p><p>  void RanktheremainGuestroom(tList<cGue

70、stroom> *tListMedic) //排序剩余客房</p><p>  {cNode<cGuestroom> *p,*q;</p><p>  cGuestroom remainGuestroom;</p><p>  for (p=tListMedic->head->next; p!= NULL; p=p->next

71、)</p><p>  {for (q=p; q!= NULL; q=q->next)</p><p>  { if (p->data.Price > q->data.Price)</p><p>  { remainGuestroom.flag = p->data.flag; </p><p>  str

72、cpy(remainGuestroom.ID, p->data.ID); </p><p>  strcpy(remainGuestroom.Type, p->data.Type);</p><p>  strcpy(remainGuestroom.Book, p->data.Book); </p><p>  strcpy(remainGuest

73、room.Price, p->data.Price);</p><p>  strcpy(remainGuestroom.Function, p->data.Function);</p><p>  remainGuestroom.StayTime = p->data.StayTime;</p><p>  p->data.flag = q-

74、>data.flag; </p><p>  strcpy(p->data.Function, q->data.Function);</p><p>  strcpy(p->data.ID, q->data.ID); </p><p>  strcpy(p->data.Type, q->data.Type);</p&g

75、t;<p>  strcpy(p->data.Book, q->data.Book); </p><p>  p->data.StayTime = q->data.StayTime; </p><p>  q->data.flag = remainGuestroom.flag; </p><p>  strcpy(q-&g

76、t;data.Function, remainGuestroom.Function);</p><p>  strcpy(q->data.ID, remainGuestroom.ID);</p><p>  strcpy(q->data.Type, remainGuestroom.Type);</p><p>  strcpy(q->data.Bo

77、ok, remainGuestroom.Book); </p><p>  q->data.StayTime = remainGuestroom.StayTime; } }</p><p><b>  }</b></p><p><b>  }</b></p><p>  編譯成功后開(kāi)始運(yùn)行,

78、信息錄入后,不能在文檔中正確排序輸出,經(jīng)Debug調(diào)試,發(fā)現(xiàn),以客人的入住天數(shù)排序來(lái)及時(shí)調(diào)出空余客房為最佳選擇。</p><p>  void RanktheremainGuestroom(tList<cGuestroom> *tListMedic) //排序剩余客房</p><p>  {cNode<cGuestroom> *p,*q;</p>

79、<p>  cGuestroom remainGuestroom;</p><p>  for (p=tListMedic->head->next; p!= NULL; p=p->next)</p><p>  { for (q=p; q!= NULL; q=q->next)</p><p>  { if (p->data

80、.StayTime > q->data.StayTime)</p><p>  { remainGuestroom.flag = p->data.flag; </p><p>  strcpy(remainGuestroom.ID, p->data.ID); </p><p>  strcpy(remainGuestroom.Type,

81、p->data.Type);</p><p>  strcpy(remainGuestroom.Book, p->data.Book); </p><p>  strcpy(remainGuestroom.Price, p->data.Price);</p><p>  strcpy(remainGuestroom.Function, p->

82、data.Function);</p><p>  remainGuestroom.StayTime = p->data.StayTime;</p><p>  p->data.flag = q->data.flag; </p><p>  strcpy(p->data.Function, q->data.Function);</

83、p><p>  strcpy(p->data.ID, q->data.ID); </p><p>  strcpy(p->data.Type, q->data.Type);</p><p>  strcpy(p->data.Book, q->data.Book); </p><p>  p->data.S

84、tayTime = q->data.StayTime; </p><p>  q->data.flag = remainGuestroom.flag; </p><p>  strcpy(q->data.Function, remainGuestroom.Function);</p><p>  strcpy(q->data.ID, rema

85、inGuestroom.ID);</p><p>  strcpy(q->data.Type, remainGuestroom.Type);</p><p>  strcpy(q->data.Book, remainGuestroom.Book); </p><p>  q->data.StayTime = remainGuestroom.Stay

86、Time; } }</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  6.課題總結(jié)與體會(huì)</b></p><p>  本次的C++課程設(shè)計(jì)雖然只是短短的兩個(gè)星期,但是卻令我體會(huì)很多,也學(xué)到很多東西。利用C++去設(shè)計(jì)客房

87、管理,使我加強(qiáng)了對(duì)C++的認(rèn)識(shí),也對(duì)現(xiàn)代客房的基本運(yùn)作管理有了初步了解。</p><p>  在這次課程設(shè)計(jì)中,我還懂得了程序開(kāi)發(fā)中的一些比較重要的步驟并且學(xué)會(huì)了一些沒(méi)有接觸過(guò)的知識(shí),比如需求分析、類的設(shè)計(jì)以及類與類之間的關(guān)系,UML圖形的表示方法等。面向?qū)ο蟪绦蛟O(shè)計(jì)作為一門軟件設(shè)計(jì)的課程,具有極強(qiáng)的實(shí)踐性,使我加強(qiáng)了靈活應(yīng)用理論知識(shí)的能力及面向?qū)ο蟪绦蛟O(shè)計(jì)技能。C++語(yǔ)言相對(duì)于C語(yǔ)言來(lái)更具有優(yōu)越性,它不僅兼容C

88、,還有一個(gè)非常重要的特點(diǎn)就是面向?qū)ο螅ň唧w來(lái)講就是類),另外模板技術(shù)的頻繁引用,也使整個(gè)程序看起來(lái)更清晰,更有條理化,所以,對(duì)模塊的掌握,在C++學(xué)習(xí)中是非常重要的。 </p><p>  在本次的應(yīng)用程序的設(shè)計(jì)和創(chuàng)建過(guò)程中,我遇到了許多問(wèn)題,有些是自己沒(méi)有在教科書中學(xué)過(guò)的,但是卻是系統(tǒng)所必須的,我通過(guò)在網(wǎng)上查找資料、查找書本、請(qǐng)教老師,一步步的把這些問(wèn)題搞懂了,所以,課程設(shè)計(jì)也培養(yǎng)了我們探索實(shí)踐的能力。<

89、/p><p>  總之,我覺(jué)得,我們學(xué)習(xí)和掌握的知識(shí),只有通過(guò)實(shí)際應(yīng)用,才能真正的理解和掌握,才能更好的去應(yīng)用。以前上C++課程,只是零散被動(dòng)地接受知識(shí),而不是主動(dòng)地去吸收滲透,而此次的課程設(shè)計(jì)卻讓我對(duì)編程產(chǎn)生了興趣,習(xí)慣獨(dú)立自主地完成任務(wù),在困難中尋求幫助,加強(qiáng)和同學(xué)間的互幫互助,相信自己會(huì)在以后的學(xué)習(xí)和工作更加有經(jīng)驗(yàn)。通過(guò)課程設(shè)計(jì),我既復(fù)習(xí)了以前的舊知識(shí),又學(xué)到了一些新的知識(shí);設(shè)計(jì)增強(qiáng)了我們用所學(xué)知識(shí)去解決具體問(wèn)

90、題的能力,進(jìn)一步培養(yǎng)了我們獨(dú)立思考問(wèn)題和解決問(wèn)題的能力。 </p><p><b>  7.參考文獻(xiàn)</b></p><p>  【1】陳維興,林小茶.C++面向?qū)ο蟪绦蛟O(shè)計(jì)教程.北京.清華大學(xué)出版社2010,10</p><p>  【2】譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì).北京:清華大學(xué)出版社.2010,5</p><p>  

91、【3】www.51CTO.com</p><p><b>  8.源代碼</b></p><p>  //客房管理系統(tǒng)主要實(shí)現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢、排序、輸出。客房信息可寫入文件,也可從文件中讀取。</p><p>  /* 系統(tǒng)的登錄 信息的添加 信息的刪除 信息的修改 */</

92、p><p>  #include <iostream> //指示編譯器將文件iostream中的代碼嵌入到該程序中該指令所在的地方</p><p>  using namespace std;</p><p>  #include<fstream>//包含文件流頭文件</p><p>  #define BUFSIZ

93、E 50</p><p>  class cGuestroom;</p><p>  void FindTheGuestroom(); //查找客房</p><p>  void FindTheGuestroomById(); //按照編號(hào)找客房</p><p>  void FindTheGuestroomByT

94、ype(); //按照類型找客房</p><p>  void FindTheGuestroomByPrice(); //按照價(jià)格找客房</p><p>  void DeleteTheGuestroom(); //刪除客房</p><p>  void AddTheGuestroom(); //客房添加</p>

95、;<p>  void ModifyTheGuestroom(); //修改客房</p><p>  template <class T> //template:模板,樣板</p><p>  class cNode //節(jié)點(diǎn)</p><p><b&g

96、t;  {</b></p><p>  public: </p><p><b>  T data;</b></p><p>  cNode *next;</p><p><b>  };</b></p><p>

97、  template <class T></p><p>  class tList </p><p><b>  {</b></p><p>  public: //定義成員函數(shù)</p><p><

98、b>  tList();</b></p><p>  void Create(); //創(chuàng)建鏈表</p><p>  bool Empty() const; //判斷鏈表是否為空</p><p>  void Insert(const T e); //從尾部插

99、入一個(gè)元素</p><p>  cNode<T>* GetcNode(int i); //返回第i個(gè)節(jié)點(diǎn)</p><p>  bool Find(const T e); //在鏈表中查找某個(gè)值</p><p>  ~tList(); //銷毀鏈表,析

100、構(gòu)</p><p>  cNode<T> *head; //頭節(jié)點(diǎn)</p><p><b>  };</b></p><p>  template <class T></p><p>  tList<T>::tList()

101、 //類的成員函數(shù)的實(shí)現(xiàn)</p><p><b>  {</b></p><p>  head=new cNode<T>;</p><p>  head->next=NULL;</p><p><b>  }</b></p><p>  tem

102、plate <class T></p><p>  void tList<T>::Create()</p><p><b>  {</b></p><p>  cNode<T> *p;</p><p><b>  p=head;</b></p>&l

103、t;p>  p->next=NULL;</p><p><b>  }</b></p><p>  template <class T></p><p>  bool tList<T>::Empty() const </p><p><b>  {</b>&l

104、t;/p><p>  return (head->next==NULL);</p><p><b>  }</b></p><p>  template <class T></p><p>  void tList<T>::Insert(const T e) //insert:插入<

105、;/p><p><b>  {</b></p><p>  cNode<T> *p,*q;</p><p><b>  p=head;</b></p><p>  q=new cNode<T>;</p><p>  q->data=e;</p&

106、gt;<p>  while(p->next)</p><p><b>  {</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  p->next=q;</p><p>  q->

107、next=NULL;</p><p><b>  }</b></p><p>  template <class T></p><p>  cNode<T>* tList<T>::GetcNode(int i) //返回第i個(gè)節(jié)點(diǎn)</p><p><b&

108、gt;  {</b></p><p><b>  int k=0;</b></p><p>  cNode<T> *p;</p><p><b>  p=head;</b></p><p>  while(p && k<i)</p><

109、;p><b>  {</b></p><p>  p=p->next;</p><p><b>  ++k;</b></p><p><b>  }</b></p><p><b>  return p;</b></p><

110、p><b>  }</b></p><p>  template <class T></p><p>  bool tList<T>::Find(const T e) //在鏈表中查找某個(gè)值</p><p><b>  {</b></p><p>

111、;  bool flag=false;</p><p>  cNode<T> *p;</p><p>  p=head->next;</p><p><b>  while(p)</b></p><p><b>  {</b></p><p>  if(p-

112、>data==e)</p><p><b>  {</b></p><p>  flag=true;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  p=p->next;</

113、p><p><b>  }</b></p><p>  return flag;</p><p><b>  }</b></p><p>  template <class T></p><p>  tList<T>::~tList()</p>

114、<p><b>  {</b></p><p>  cNode<T> *p;</p><p>  while(head)</p><p><b>  {</b></p><p>  p=head->next;</p><p>  delete

115、head;</p><p><b>  head=p;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  class cGuestroom</p><p><b>  {</b&g

116、t;</p><p><b>  public:</b></p><p>  char ID[BUFSIZE]; //客房編號(hào)</p><p>  char Type[BUFSIZE]; //客房類型</p><p>  char Book[BUFSIZE]; //提前定房日期</p><p&

117、gt;  char Price[BUFSIZE]; //客房?jī)r(jià)格</p><p>  char Function[BUFSIZE]; //客房主要內(nèi)容</p><p>  int StayTime; //入住天數(shù)有效期</p><p>  bool flag;//標(biāo)志</p><p>  cGuestroom()//構(gòu)造函數(shù)

118、初始化</p><p><b>  {</b></p><p>  memset(ID,0,BUFSIZE);memset(Type,0,BUFSIZE);memset(Book,0,BUFSIZE);memset(Function,0,BUFSIZE);</p><p>  memset(Price,0,BUFSIZE);StayTime=0

119、.0;flag=false;</p><p>  } //memset:把char類型轉(zhuǎn)換成ASCII值</p><p><b>  };</b></p><p>  void ReadData(tList<cGuestroom> *tListGue)//讀取數(shù)據(jù)庫(kù)</p>&l

120、t;p><b>  {</b></p><p>  char buf[BUFSIZE]; </p><p>  ifstream ifile("Guestroom.txt",ios_base::in);//創(chuàng)建一個(gè)輸出文件流對(duì)象</p><p>  if (!ifile) </p><p>&

121、lt;b>  { </b></p><p>  cerr << "讀取時(shí)打開(kāi)文件出錯(cuò)!" << endl; </p><p><b>  } </b></p><p>  cGuestroom Guestroom;</p><p>  while(ifile

122、.getline(buf,BUFSIZE)) //遍歷文本,讀取數(shù)據(jù)</p><p><b>  {</b></p><p>  ifile.getline(buf,BUFSIZE);</p><p>  strcpy(Guestroom.ID,buf);//讀取客房編號(hào)</p><p>  memset(buf,0,B

123、UFSIZE);</p><p>  ifile.getline(buf,BUFSIZE);//讀取客房類型</p><p>  strcpy(Guestroom.Type,buf);</p><p>  memset(buf,0,BUFSIZE);</p><p>  ifile.getline(buf,BUFSIZE);//讀取提前定房日

124、期</p><p>  strcpy(Guestroom.Book,buf);</p><p>  memset(buf,0,BUFSIZE);</p><p>  ifile.getline(buf,BUFSIZE);//讀取價(jià)格</p><p>  strcpy(Guestroom.Price,buf);</p><p

125、>  memset(buf,0,BUFSIZE);</p><p>  ifile.getline(buf,BUFSIZE);//讀取客房主要內(nèi)容</p><p>  strcpy(Guestroom.Function,buf);</p><p>  memset(buf,0,BUFSIZE);</p><p>  ifile.getl

126、ine(buf,BUFSIZE);//讀取入住有效期</p><p>  Guestroom.StayTime=atoi(buf);</p><p>  memset(buf,0,BUFSIZE);</p><p>  Guestroom.flag=true;</p><p>  tListGue->Insert(Guestroom);

127、</p><p><b>  }</b></p><p>  cout<<"讀取數(shù)據(jù)成功!\n\n";</p><p>  ifile.close();//關(guān)閉文件</p><p><b>  return;</b></p><p><b

128、>  }</b></p><p>  void AddtheGuestroom(tList<cGuestroom> *tListGue)// 輸入客房函數(shù)</p><p><b>  {</b></p><p>  cGuestroom tempGuestroom; //定義臨時(shí)客房</p><

129、;p>  cout<<"下面開(kāi)始添加客房信息\n";</p><p>  cout<<"請(qǐng)輸入入住的客房編號(hào):";</p><p>  cin>>tempGuestroom.ID; //讀入客房編號(hào)</p><p>  cout<<"請(qǐng)輸入客房類型:

130、";</p><p>  cin>>tempGuestroom.Type; //讀入客房類型</p><p>  cout<<"請(qǐng)輸入客人定房日期:";</p><p>  cin>>tempGuestroom.Book; //讀入定房日期</p><p>

131、  cout<<"請(qǐng)輸入客房?jī)r(jià)格:";</p><p>  cin>>tempGuestroom.Price; //讀入價(jià)格</p><p>  cout<<"請(qǐng)輸入客房的主要內(nèi)容:";</p><p>  cin>>tempGuestroom.Function; //

132、讀入主要內(nèi)容</p><p>  cout<<"請(qǐng)輸入客房入住有效期:";</p><p>  cin>>tempGuestroom.StayTime; //讀入入住有效期</p><p>  tempGuestroom.flag=true;</p><p>  tListGue->Inse

133、rt(tempGuestroom);</p><p>  cout<<"添加成功!\n";</p><p>  system("pause"); //pause:停頓,終止</p><p>  system("cls");</p><p><

溫馨提示

  • 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)論