2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩33頁(yè)未讀 繼續(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><b>  一、課程設(shè)計(jì)的目的</b></p><p>  學(xué)習(xí)綜合運(yùn)用C高級(jí)語(yǔ)言課程和其他先修課程的知識(shí),提高分析和解決實(shí)際問題的的能力,進(jìn)一步鞏固、加深和拓寬所學(xué)的知識(shí);進(jìn)一步加強(qiáng)結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深對(duì)高級(jí)語(yǔ)言基本語(yǔ)言要素和控制結(jié)構(gòu)的理解。</p><p>  全面系統(tǒng)的學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念、基本語(yǔ)法和編程方法;獨(dú)立完成有一定工作

2、量的程序設(shè)計(jì)任務(wù),同時(shí)強(qiáng)調(diào)好的程序設(shè)計(jì)風(fēng)格。</p><p>  掌握程序設(shè)計(jì)中的常用算法和C語(yǔ)言的編程技巧和上機(jī)調(diào)試程序的方法。</p><p>  在參與一系列子項(xiàng)目的實(shí)踐過程中,提高如何綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力,以及獲得相關(guān)項(xiàng)目管理和團(tuán)隊(duì)合作等眾多方面的具體經(jīng)驗(yàn)。</p><p><b>  課程設(shè)計(jì)的任務(wù)</b></p&

3、gt;<p>  按照如下要求,運(yùn)用C++語(yǔ)言,編寫一套可用的較為完善的賓館住宿管理系統(tǒng)軟件(兩人分模塊合作)</p><p>  對(duì)賓館基本信息【房間數(shù)量、房間類別(標(biāo)間、單間、套房)、收費(fèi)標(biāo)準(zhǔn)等】在適當(dāng)范圍內(nèi)自行規(guī)定。</p><p>  能夠?qū)崿F(xiàn)預(yù)定登記、入住登記、退房結(jié)算等功能;房間狀態(tài)(空房、入住、預(yù)定)能夠以一定方式直觀地表現(xiàn)。</p><p&

4、gt;  能夠錄入住宿人員信息、計(jì)算客戶消費(fèi)總額并生成賬單,賬單信息存入到磁盤文件當(dāng)中去。</p><p>  能夠相對(duì)靈活地查詢房間狀態(tài)、入住情況、空房情況、預(yù)訂情況等內(nèi)容。</p><p>  能夠產(chǎn)生各類報(bào)表,如房間信息、入住信息、消費(fèi)表單等在磁盤文件當(dāng)中可以查看它們的信息。</p><p><b>  三、系統(tǒng)設(shè)計(jì)方案</b></

5、p><p><b>  3.1系統(tǒng)詳細(xì)描述</b></p><p>  3.1.1系統(tǒng)設(shè)計(jì)背景</p><p>  隨著人民生活水平的提高,旅游出行的人越來(lái)越多,賓館的客流量不斷增加,普通的手寫登記太過復(fù)雜經(jīng)常出現(xiàn)信息丟失,也不適合現(xiàn)在的節(jié)約型社會(huì)的發(fā)展,賓館在正常運(yùn)營(yíng)中需要對(duì)客房資源、顧客信息、退房信息等進(jìn)行管理,利用客房管理系統(tǒng)及時(shí)了解各個(gè)環(huán)節(jié)

6、中信息的變更,有利于提高管理的效率。 本項(xiàng)目作為c++課程設(shè)計(jì)的訓(xùn)練項(xiàng)目提出,目的是為了提高同學(xué)們系統(tǒng)的開發(fā),則提高大家的實(shí)踐能力。所以開發(fā)一個(gè)符合自身賓館實(shí)際情況的工作平臺(tái)是十分必要的。</p><p>  3.1.2系統(tǒng)設(shè)計(jì)詳細(xì)信息</p><p>  系統(tǒng)使用對(duì)象設(shè)定為百康賓館。百康賓館是一家鄉(xiāng)鎮(zhèn)中小型賓館,三層建筑,擁有各類房間共20間。其中一層均為單人間,共9間,房號(hào)101-10

7、9;二層為均雙人間,共6間,房號(hào)201-206;三層均為豪華套房,共5間,房號(hào)301-305。</p><p>  各類房間均設(shè)有電視、櫥柜、內(nèi)網(wǎng)電話、風(fēng)扇、暖氣等基礎(chǔ)設(shè)施,24小時(shí)熱水供應(yīng),可淋浴。</p><p>  一層前臺(tái)處設(shè)有便捷商店,當(dāng)時(shí)結(jié)算,不計(jì)入住宿賬單??赏ㄟ^內(nèi)網(wǎng)電話購(gòu)買,免費(fèi)送至房間。</p><p>  A、收費(fèi)標(biāo)準(zhǔn):有按天計(jì)費(fèi)和按小時(shí)計(jì)費(fèi)兩種

8、收費(fèi)標(biāo)準(zhǔn)。</p><p>  按天計(jì)費(fèi),標(biāo)準(zhǔn)為單人間 170元/天,雙人間280元/天,豪華套房500元/天。</p><p>  按小時(shí)計(jì)費(fèi),標(biāo)準(zhǔn)為單人間20元/小時(shí),雙人間30元/小時(shí),豪華套房50元/小時(shí)。</p><p>  B、計(jì)時(shí)標(biāo)準(zhǔn):按天計(jì)費(fèi)時(shí),從0時(shí)至次日0時(shí)計(jì)一天,不滿一天按一天計(jì)算;按小時(shí)計(jì)費(fèi)時(shí),不滿一小時(shí)按一小時(shí)計(jì)費(fèi)。(特殊情形的優(yōu)惠政策不在

9、本設(shè)計(jì)考慮范圍之內(nèi))</p><p>  C、定金標(biāo)準(zhǔn):入住定金按(預(yù)計(jì)入住時(shí)間*其單日房費(fèi)+500元)收取,退房時(shí)充作房費(fèi)和房屋設(shè)施折損費(fèi)(抵償損壞的房?jī)?nèi)設(shè)施),多退少補(bǔ)。預(yù)定定金(按預(yù)計(jì)訂房時(shí)間*對(duì)應(yīng)房間按天計(jì)算住宿價(jià)格*40%)收取,若到時(shí)不入住且不續(xù)訂,則不再退還;若到時(shí)入住,充作入住定金,多退少補(bǔ)。電話預(yù)定無(wú)需繳納定金,但不確保屆時(shí)有空房間。</p><p>  注:定金數(shù)額可在

10、以上標(biāo)準(zhǔn)數(shù)額之上,退房結(jié)算時(shí)多退少補(bǔ)。</p><p>  退房時(shí),室內(nèi)設(shè)施經(jīng)確認(rèn)無(wú)損壞情況,則不收取房屋設(shè)施折損費(fèi)。</p><p><b>  3.2功能模塊劃分</b></p><p>  3.2.1功能模塊描述</p><p>  根據(jù)任務(wù)內(nèi)容要求及賓館相關(guān)情況等信息,百康賓館住宿管理系統(tǒng)需要實(shí)現(xiàn)查詢功能(包括客

11、房總體使用情況查詢、已入住客房查詢、已預(yù)訂客房查詢、閑置房間信息查詢等查詢方式),訂房登記,入住登記,退房結(jié)算等四大基本功能。系統(tǒng)應(yīng)實(shí)現(xiàn)對(duì)各類信息的靈活查找,客戶信息的錄入、保存與調(diào)用,自動(dòng)結(jié)算并生成賬單等操作。</p><p>  為了簡(jiǎn)化前臺(tái)人員操作并提高其工作效率,還應(yīng)實(shí)現(xiàn)開始前初始化詢問,訂房或入住登記時(shí)自動(dòng)顯示當(dāng)前閑置房間,入住前詢問是否已預(yù)訂,輸入錯(cuò)誤信息時(shí)進(jìn)行提醒等人性化功能。</p>

12、<p>  由以上分析,將系統(tǒng)主要分為以下四大功能模塊,如圖3.1所示:</p><p>  客房查詢:包括查詢客房總體使用情況、查詢當(dāng)前閑置房間信息、查詢已入住房間信息、查詢已預(yù)定房間信息等查詢功能;</p><p>  訂房登記:包括顯示當(dāng)前閑置房間信息、登記預(yù)定信息等功能;</p><p>  入住登記:包括顯示當(dāng)前房間總體使用情況、詢問是否預(yù)定過

13、房間、登記入住人信息等功能;</p><p>  退房結(jié)算:包括選擇結(jié)算方式、輸入結(jié)算時(shí)間、計(jì)算住宿費(fèi)用等功能。</p><p>  圖3.1功能模塊結(jié)構(gòu)圖</p><p>  注:我與網(wǎng)絡(luò)工程專業(yè)102001班王維康同學(xué)合作,共同完成本次有關(guān)于賓館住宿管理系統(tǒng)的程序設(shè)計(jì),我負(fù)責(zé)實(shí)現(xiàn)入住登記模塊、退房結(jié)算模;王維康同學(xué)負(fù)責(zé)編寫客房查詢和訂房登記兩個(gè)模塊的相關(guān)內(nèi)容。&

14、lt;/p><p><b>  3.2.2輸入項(xiàng)</b></p><p>  以下輸入項(xiàng)均為鍵盤輸入:</p><p>  num——房間號(hào) ,int</p><p>  kongxian——房間是否空閑 ,int </p><p>  name[20]——名字定義, char name[20] &l

15、t;/p><p>  ID[20]——身份證號(hào)(18位阿拉伯?dāng)?shù)字),char ID[20]</p><p>  lianxifangshi[15]——聯(lián)系方式(11位阿拉伯?dāng)?shù)字),char lianxifangshi[15]</p><p>  yajin——押金, int </p><p>  yudingriqi——預(yù)定日期(日期均為8位阿

16、拉伯?dāng)?shù)字,格式為年月日), long </p><p>  ruzhushijian——入住日期 ,long </p><p>  tianshu——預(yù)計(jì)天數(shù), int </p><p>  jiezhiriqi——截止日期 ,long </p><p>  p——是否初始化(0或1), int</p><p>  c

17、hose——選擇主菜單(1,2,3,4或5), int</p><p>  t——計(jì)費(fèi)方式(1或2), int</p><p>  i——子菜單選擇(1,2,3,4或5)(不同模塊可能定義不同), int</p><p>  a——是否預(yù)定過房間(在ruzhudengji()定義的),int</p><p><b>  3.2.3輸

18、出項(xiàng)</b></p><p><b>  房間號(hào), int</b></p><p>  房間類型 ,char leixing[10]</p><p>  價(jià)格(元/天), int</p><p>  價(jià)格(元/小時(shí)) ,int</p><p><b>  是否空閑 ,int

19、</b></p><p>  客人姓名,char name[20]</p><p>  身份證,char ID[20]</p><p>  聯(lián)系方式 ,charlianxifangshi[15]</p><p>  押金(元), int</p><p>  預(yù)定日期 ,long</p><

20、;p>  入住時(shí)間 ,long</p><p><b>  預(yù)計(jì)天數(shù), int</b></p><p>  截止日期, long</p><p><b>  四、系統(tǒng)實(shí)現(xiàn)與測(cè)試</b></p><p>  4.1主菜單模塊實(shí)現(xiàn)</p><p>  4.1.1主菜單流程圖

21、</p><p>  圖4.1主菜單流程圖</p><p>  4.1.2主菜單代碼</p><p>  void Menu_Display()</p><p><b>  {</b></p><p>  system("cls");</p><p> 

22、 cout<<"\t\t###########################################"<<endl;</p><p>  cout<<"\t\t# @歡迎使用百康賓館管理系統(tǒng)@ #"<<endl;</p><p>  cout<<"

23、;\t\t# 請(qǐng)輸入您所需要的功能: #"<<endl;</p><p>  cout<<"\t\t# 1.客房查詢 2.訂房登記 #"<<endl;</p><p>  cout<<"\t\t# 3.入住登記

24、 4.退 房 #"<<endl;</p><p>  cout<<"\t\t# 5. 退 出 #"<<endl;</p><p>  cout<<"\t\t# 感 * 謝 * 您 * 的

25、* 使 * 用 #"<<endl;</p><p>  cout<<"\t\t###########################################"<<endl;</p><p><b>  }</b></p><p>  void chushih

26、ua()</p><p><b>  {</b></p><p>  int i[3]={1,0,1},k=0;</p><p>  for(;k<20;k++)</p><p><b>  {</b></p><p>  hotel[k].num=i[0]*100+i

27、[1]*10+i[2];</p><p>  strcpy(hotel[k].ID,"0");</p><p>  hotel[k].jiezhiriqi=0;</p><p>  hotel[k].kongxian=0;</p><p>  strcpy(hotel[k].lianxifangshi,"0&qu

28、ot;);</p><p>  strcpy(hotel[k].name,"0");</p><p>  hotel[k].ruzhushijian=0;</p><p>  hotel[k].tianshu=0;</p><p>  hotel[k].yudingriqi=0;</p><p> 

29、 switch(i[0])</p><p><b>  {</b></p><p>  case 1:{hotel[k].jiage=17020;strcpy(hotel[k].leixing,"單人間");break;}</p><p>  case 2:{hotel[k].jiage=28030;strcpy(hotel

30、[k].leixing,"雙人間");break;}</p><p>  case 3:{hotel[k].jiage=50050;strcpy(hotel[k].leixing,"套房");break;}</p><p><b>  }</b></p><p><b>  if(k==8)&l

31、t;/b></p><p>  i[0]++,i[2]=0;</p><p><b>  if(k==14)</b></p><p>  i[0]++,i[2]=0;</p><p><b>  i[2]++;</b></p><p><b>  }</

32、b></p><p>  fstream xieru("賓館房間信息.txt",ios::out);</p><p>  xieru<<"房間號(hào) 類型 價(jià)格 是否空閑 姓名 身份證號(hào) 聯(lián)系方式 押金 預(yù)定日期 入住時(shí)間 天數(shù) 截止日期 "<<endl;<

33、;/p><p>  for(int x=0;x<20;x++)</p><p><b>  {</b></p><p>  xieru<<hotel[x].num<<' '<<hotel[x].leixing<<' '<<hotel[x].jiage&

34、lt;<' '<<hotel[x].kongxian<<' '<<hotel[x].name</p><p>  <<' '<<hotel[x].ID<<' '<<hotel[x].lianxifangshi<<' '<<

35、hotel[x].yajin<<' '<<hotel[x].yudingriqi<<' '<<hotel[x].ruzhushijian</p><p>  <<' '<<hotel[x].tianshu<<' '<<hotel[x].jiezhiriqi

36、<<endl; </p><p><b>  }</b></p><p>  xieru.close();</p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></

37、p><p><b>  int p=0;</b></p><p>  cout<<"是否要初始化房間信息?";</p><p>  cout<<"(是請(qǐng)輸入1,否請(qǐng)輸入0)"<<endl;</p><p><b>  cin>>

38、p;</b></p><p><b>  if(p==1)</b></p><p>  chushihua();</p><p>  int chose;</p><p>  Menu_Display();</p><p>  cout<<"請(qǐng)輸入選項(xiàng):"

39、;;</p><p>  cin>>chose;</p><p>  while(chose!=0)</p><p>  {

40、

41、 </p><p>  switch(chose)//用switch語(yǔ)句判斷選擇菜單的功能&

42、lt;/p><p><b>  {</b></p><p>  case 1:search_message();break; //客房查詢</p><p>  case 2:dingfangdengji();break;//訂房間</p><p>  case 3:ruzhudengji();break;//入住房間<

43、/p><p>  case 4:tuifang();break;//退房</p><p>  case 5:exit(0);</p><p>  default:cout<<"輸入錯(cuò)誤,請(qǐng)重新輸入"<<endl; //提示錯(cuò)誤命令</p><p><b>  }</b></p

44、><p>  cout<<"\t\t###########################################"<<endl;</p><p>  cout<<"\t\t# @歡迎使用百康賓館管理系統(tǒng)@ #"<<endl;</p><p>  c

45、out<<"\t\t# 請(qǐng)輸入您所需要的功能: #"<<endl;</p><p>  cout<<"\t\t# 1.客房查詢 2.訂房登記 #"<<endl;</p><p>  cout<<"\t\t#

46、 3.入住登記 4.退 房 #"<<endl;</p><p>  cout<<"\t\t# 5. 退 出 #"<<endl;</p><p>  cout<<"\t\t# 感 * 謝 * 您 *

47、 的 * 使 * 用 #"<<endl;</p><p>  cout<<"\t\t###########################################"<<endl;</p><p>  cout<<"請(qǐng)輸入選項(xiàng):";</p><p>

48、  cin>>chose;</p><p>  while(chose==0)</p><p><b>  {</b></p><p>  cout<<"輸入錯(cuò)誤,按任意鍵退出程序:"<<endl;</p><p><b>  exit(0);</b

49、></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.1.3主菜單模塊測(cè)試</p><p>  主菜單界面中顯示客房管理系統(tǒng)的功能選項(xiàng)模塊如圖4.2所示:

50、</p><p><b>  圖4.2主菜單</b></p><p>  4.2入住登記模塊實(shí)現(xiàn)</p><p>  4.2.1入住登記流程圖</p><p>  圖4.3入住登記流程圖</p><p>  4.2.2入住登記代碼</p><p>  void ruzhud

51、engji()</p><p><b>  {</b></p><p>  int a,b=0;</p><p>  string name;</p><p>  ifstream liulan("賓館房間信息.txt",ios::in); //定義輸入文件流對(duì)象,以輸入方式打開磁盤文件旅信<

52、;/p><p>  if(!liulan) //判斷文件是否打開成功</p><p><b>  {</b></p><p>  cerr<<"文件不能讀."<<endl;return;</p><p><b>  }&l

53、t;/b></p><p><b>  else</b></p><p>  liulan.seekg(117,ios::beg);//在輸入文件開頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié)(beg=begin)</p><p>  int i=0; //存放空閑房間的號(hào)碼</p><p>  cout<<&qu

54、ot;房間號(hào) 類型 價(jià)格(元/天) 價(jià)格(元/小時(shí)) 空閑 "<<endl;</p><p>  while (i<20)</p><p><b>  {</b></p><p>  liulan>>hotel[i].num>>hotel[i].leixing>

55、>hotel[i].jiage>>hotel[i].kongxian>>hotel[i].name</p><p>  >>hotel[i].ID>>hotel[i].lianxifangshi>>hotel[i].yajin>>hotel[i].yudingriqi>>hotel[i].ruzhushijian</p

56、><p>  >>hotel[i].tianshu>>hotel[i].jiezhiriqi;</p><p>  cout<<setw(4)<<hotel[i].num<<setw(8)<<hotel[i].leixing<<setw(9)<<hotel[i].jiage/100<<s

57、etw(14)<<hotel[i].jiage%100<<setw(13)</p><p>  <<hotel[i].kongxian; //輸出所有房間信息</p><p>  i++,cout<<endl;</p><p><b>  }</b></p><p>

58、;  liulan.close(); //關(guān)閉文件</p><p>  cout<<"(注:0表示空房間、1表示房間已入住、2表示房間已預(yù)訂)"<<endl;</p><p>  cout<<"是否預(yù)訂過房間?"<<endl;</p><p>  cout<<&

59、quot;是,請(qǐng)輸入1,否,請(qǐng)輸入2"<<endl;</p><p><b>  cin>>a;</b></p><p><b>  if(a==1)</b></p><p><b>  {</b></p><p>  cout<<

60、"請(qǐng)輸入房間號(hào):"<<endl;</p><p><b>  cin>>b;</b></p><p>  for(i=0;i<20;i++)</p><p>  if(hotel[i].num==b)</p><p><b>  {</b></

61、p><p>  if(hotel[i].yudingriqi!=0)</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入入住日期:";</p><p>  cin>>hotel[i].ruzhushijian;</p><p>

62、  cout<<"請(qǐng)輸入截止日期:";</p><p>  cin>>hotel[i].jiezhiriqi;</p><p>  hotel[i].yudingriqi=0;</p><p><b>  }</b></p><p><b>  else</b&

63、gt;</p><p><b>  {</b></p><p>  cout<<"該房沒有被預(yù)訂過"<<endl;</p><p>  system("pause");</p><p><b>  }</b></p>&l

64、t;p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"空房間有:"<<

65、;endl;</p><p>  for(int k=0;k<20;k++)</p><p><b>  {</b></p><p>  if(hotel[k].kongxian==0)</p><p>  cout<<hotel[k].num<<" ";</p&

66、gt;<p><b>  }</b></p><p>  cout<<endl;</p><p>  cout<<"請(qǐng)輸入房間號(hào):";</p><p><b>  cin>>b;</b></p><p>  for(i=0;i&l

67、t;20;i++)</p><p>  if(hotel[i].num==b)</p><p><b>  {</b></p><p>  cout<<"請(qǐng)依次輸入以下信息并加以核對(duì) (日期格式:年月日 例如 19920503 )"<<endl;</p><p>  cout

68、<<"姓 名:";</p><p>  cin>>hotel[i].name;</p><p>  cout<<"身份證號(hào):";</p><p>  cin>>hotel[i].ID;</p><p>  cout<<"聯(lián)系方式

69、:";</p><p>  cin>>hotel[i].lianxifangshi;</p><p>  cout<<"押金:";</p><p>  cin>>hotel[i].yajin;</p><p>  cout<<"天 數(shù):";

70、</p><p>  cin>>hotel[i].tianshu;</p><p>  cout<<"入住日期:";</p><p>  cin>>hotel[i].ruzhushijian;</p><p>  hotel[i].kongxian=2;</p><p

71、><b>  }</b></p><p><b>  }</b></p><p>  ofstream xieru("賓館房間信息.txt",ios::out); //寫回文件</p><p>  xieru<<"房間號(hào) 類型 價(jià)格 是否空閑 姓名 身份證號(hào)

72、 聯(lián)系方式 押金 預(yù)定日期 入住時(shí)間 天數(shù) 截止日期 "<<endl;</p><p>  for(i=0;i<20;i++)</p><p>  xieru<<hotel[i].num<<' '<<hotel[i].leixing<<' '<&

73、lt;hotel[i].jiage<<' '<<hotel[i].kongxian<<' '<<hotel[i].name</p><p>  <<' '<<hotel[i].ID<<' '<<hotel[i].lianxifangshi<<&

74、#39; '<<hotel[i].yajin<<' '<<hotel[i].yudingriqi<<' '<<hotel[i].ruzhushijian</p><p>  <<' '<<hotel[i].tianshu<<' '<<h

75、otel[i].jiezhiriqi<<endl; </p><p>  xieru.close();</p><p>  cout<<"登記成功"<<endl;</p><p>  }4.2.3入住登記模塊測(cè)</p><p>  入住登記界面顯示了房間使用情況以及提示以前是否預(yù)訂過房

76、間如圖4.4所示:</p><p>  圖4.4入住登記界面</p><p>  如果客人預(yù)定過房間,則選擇“1”,然后輸入預(yù)訂房間號(hào)如圖4.5所示。輸入入住日期和截止日期則“登記成功”如圖4.6所示。</p><p>  圖4.5選擇訂過房間入住登記界面</p><p>  圖4.6訂過房間入住登記界面</p><p&g

77、t;  未預(yù)訂過房間則選擇“2” 則會(huì)顯示出目前的空房間信息如圖4.7所示,根據(jù)系統(tǒng)提示輸入客人的信息則“登記成功”如圖4.8所示。</p><p>  圖4.7選擇未訂過房間入住登記界面</p><p>  圖4.8選擇未訂過房間入住登記輸入信息界面</p><p>  4.3退房結(jié)算模塊實(shí)現(xiàn)</p><p>  4.3.1退房結(jié)算流程圖&

78、lt;/p><p>  圖4.9 退房結(jié)算流程圖</p><p>  4.3.2退房結(jié)算代碼</p><p>  void tuifang()</p><p><b>  {</b></p><p><b>  int a,b;</b></p><p>

79、  ifstream fin("賓館房間信息.txt",ios::in);</p><p>  cout<<"請(qǐng)輸入房號(hào):";</p><p><b>  cin>>a;</b></p><p>  int c=0,i=0;</p><p>  fin.s

80、eekg(117,ios::beg);//在輸入文件開頭以參照位置為基礎(chǔ)移動(dòng)若干字節(jié)(beg=begin)</p><p>  while(i<20)</p><p><b>  {</b></p><p>  fin>>hotel[i].num>>hotel[i].leixing>>hotel[i].

81、jiage>>hotel[i].kongxian>>hotel[i].name</p><p>  >>hotel[i].ID>>hotel[i].lianxifangshi>>hotel[i].yajin>>hotel[i].yudingriqi>>hotel[i].ruzhushijian</p><p&g

82、t;  >>hotel[i].tianshu>>hotel[i].jiezhiriqi;</p><p>  if(hotel[i].num==a) //查詢客人房間</p><p><b>  b=i;</b></p><p><b>  i++;<

83、;/b></p><p><b>  }</b></p><p>  fin.close();</p><p>  cout<<"房間信息為:"<<endl;</p><p>  cout<<" 姓名: 押金(元): 入住時(shí)間:

84、"<<endl;</p><p>  cout<<setw(6)<<hotel[b].name<<setw(8)<<hotel[b].yajin<<setw(20)<<hotel[b].ruzhushijian<<endl;</p><p>  cout<<"(注

85、:日期輸入格式 年月日 例如 20120101 )"<<endl;</p><p>  cout<<"請(qǐng)輸結(jié)算入日期:";</p><p><b>  int d;</b></p><p><b>  cin>>d;</b></p><p

86、>  hotel[b].jiezhiriqi=d;</p><p><b>  int fei;</b></p><p>  cout<<"按小時(shí)/天數(shù)計(jì)費(fèi)(小時(shí)輸入1,天數(shù)輸入2):";</p><p><b>  int t;</b></p><p><

87、;b>  cin>>t;</b></p><p><b>  if(t==2)</b></p><p>  fei=hotel[b].yajin-((hotel[b].jiezhiriqi-hotel[b].ruzhushijian)*(hotel[b].jiage/100)); //結(jié)算函數(shù),押金—(結(jié)算時(shí)間-入住時(shí)間)*價(jià)格</

88、p><p><b>  else</b></p><p>  fei=hotel[b].yajin-((hotel[b].jiezhiriqi-hotel[b].ruzhushijian)*(hotel[b].jiage%100)); //按小時(shí)計(jì)算</p><p><b>  if(fei<0)</b

89、></p><p><b>  {</b></p><p><b>  fei=-fei;</b></p><p>  cout<<"應(yīng)付費(fèi)用為:"<<fei<<"元"<<endl;</p><p><

90、;b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"總消費(fèi)金額為:"<<hotel[b].yajin-fei<<"元"<<end

91、l;</p><p>  cout<<"押金足夠 應(yīng)返還給您:"<<fei<<"元"<<endl;</p><p><b>  }</b></p><p>  fstream jsxx("結(jié)算信息.txt",ios::out);</

92、p><p>  jsxx<<"消費(fèi)信息為:"<<endl;</p><p>  jsxx<<"姓名:"<<hotel[b].name<<endl<<"押金(元):"<<hotel[b].yajin<<endl<<"入住

93、時(shí)間:"<<hotel[b].ruzhushijian<<endl<<"結(jié)算時(shí)間:"<<d<<endl;</p><p><b>  if(t==2)</b></p><p>  jsxx<<"計(jì)費(fèi)方式:按天數(shù)計(jì)費(fèi)"<<endl;<

94、;/p><p><b>  else</b></p><p>  jsxx<<"計(jì)費(fèi)方式:按小時(shí)計(jì)費(fèi)"<<endl;</p><p>  jsxx<<"總消費(fèi)金額為:"<<hotel[b].yajin-fei<<"元"<&l

95、t;endl;</p><p>  jsxx<<"押金足夠 應(yīng)返還給您:"<<fei<<"元"<<endl;</p><p>  jsxx.close();</p><p>  hotel[b].kongxian=0;

96、 //房間結(jié)算后初始化房間信息</p><p>  strcpy(hotel[b].name,"0");</p><p>  strcpy(hotel[b].ID,"0");</p><p>  strcpy(hotel[b].lianxifangshi,"0");</p>

97、<p>  hotel[b].yudingriqi=0;</p><p>  hotel[b].ruzhushijian=0;</p><p>  hotel[b].jiezhiriqi=0;</p><p>  hotel[b].yajin=0;</p><p>  hotel[b].tianshu=0;</p>

98、<p>  hotel[b].jiezhiriqi=0;</p><p>  fstream xieru("賓館房間信息.txt",ios::out);//生成文件</p><p>  xieru<<"房間號(hào) 類型 價(jià)格 是否空閑 姓名 身份證號(hào) 聯(lián)系方式 押金 預(yù)定日期 入住時(shí)間

99、 天數(shù) 截止日期 "<<endl;</p><p>  for(i=0;i<20;i++)</p><p><b>  {</b></p><p>  xieru<<hotel[i].num<<' '<<hotel[i].leixing<<'

100、; '<<hotel[i].jiage<<' '<<hotel[i].kongxian<<' '<<hotel[i].name</p><p>  <<' '<<hotel[i].ID<<' '<<hotel[i].lianxifang

101、shi<<' '<<hotel[i].yajin<<' '<<hotel[i].yudingriqi<<' '<<hotel[i].ruzhushijian</p><p>  <<' '<<hotel[i].tianshu<<' &#

102、39;<<hotel[i].jiezhiriqi<<endl; </p><p><b>  }</b></p><p>  xieru.close();</p><p>  system("pause");</p><p><b>  }</b><

103、;/p><p>  4.3.3退房結(jié)算模塊測(cè)試</p><p>  選擇退房功能輸入房間號(hào)則會(huì)顯示出客人的基本信息如圖4.10所示;根據(jù)系統(tǒng)提示輸入結(jié)算日期并選擇結(jié)算方式則“結(jié)算結(jié)束”如圖4.11和圖4.12所示。賬單信息存入到磁盤文件當(dāng)中去,如圖4.13所示。</p><p>  圖4.10退房結(jié)算輸入結(jié)算房間號(hào)后界面圖</p><p>  圖

104、4.11退房結(jié)算輸入日期界面</p><p>  圖4.12退房結(jié)算完成界面</p><p>  圖4.13退房結(jié)算信息文件</p><p>  五、程序調(diào)試中出現(xiàn)的問題及解決方法</p><p>  在調(diào)試程序過程中頻繁出現(xiàn)的問題就是分號(hào)的丟失以及書寫程序中一些最基本的字符要求沒有正確的書寫,導(dǎo)致一個(gè)程序里出現(xiàn)了大量的錯(cuò)誤,在改錯(cuò)時(shí)吸取教訓(xùn)

105、為后期的工作節(jié)省了很多時(shí)間,在整個(gè)程序運(yùn)行時(shí),由于有的函數(shù)之定義了,而后面卻沒有見這個(gè)函數(shù)寫完,導(dǎo)致整個(gè)程序無(wú)法運(yùn)行,開始解決的時(shí)候是將此函數(shù)全部清除然后運(yùn)行整個(gè)程序,后來(lái)在將函數(shù)寫完整放進(jìn)大的程序中去進(jìn)行運(yùn)行。</p><p>  在入住登記調(diào)試程序時(shí),房間信息顯示出現(xiàn)了無(wú)限循環(huán)的情況,經(jīng)過對(duì)語(yǔ)句的分析,發(fā)現(xiàn)是后面的i++書寫錯(cuò)誤導(dǎo)致的,經(jīng)過修改后錯(cuò)誤排出了。

106、 </p><p>  有時(shí)還會(huì)出現(xiàn)程序成功運(yùn)行后,但是在dos界面選擇一些功能時(shí)出現(xiàn)無(wú)限循環(huán),解決的方法是先看所寫的循環(huán)語(yǔ)句是否出現(xiàn)錯(cuò)誤,Debug/賓館住宿管理系統(tǒng)

107、.exe : fatal error LNK1120: 1 unresolved externals,運(yùn)行錯(cuò)誤提示,也總是出現(xiàn),經(jīng)過上網(wǎng)查詢找出解決方法原因是設(shè)置的參數(shù)有問題。</p><p><b>  六、參考文獻(xiàn)</b></p><p>  [1]譚浩強(qiáng).C++程序設(shè)計(jì).北京:清華大學(xué)出版社. 2011</p><p>  [2]鄭莉.C

108、++程序設(shè)計(jì)(第三版). 北京:清華大學(xué)出版社. 2005 </p><p>  [3]錢能.C++程序設(shè)計(jì)教程. 北京:清華大學(xué)出版社. 2004</p><p>  [4]武俊亮.visual c++課程設(shè)計(jì)與系統(tǒng)開發(fā)案例. 北京:清華出版社</p><p>  [5]黃維通.Visual C++程序設(shè)計(jì)教程. 北京:清華大學(xué)出版社. 2005 </p&g

109、t;<p><b>  七、附錄:程序代碼</b></p><p>  #include<iostream></p><p>  #include<iomanip> //輸出流控制</p><p>  #include<string></p><p>  #inc

110、lude<fstream> //輸入輸出文件流</p><p>  using namespace std;</p><p>  void search_message();</p><p>  void dingfangdengji();</p><p>  void ruzhudengji();</p>

111、<p>  void tuifang();</p><p>  void all_message();</p><p>  void empty_message();</p><p>  void ruzhixinxi();</p><p>  void dingfangxinxi();</p><p>  

112、struct hotel //定義結(jié)構(gòu)體</p><p><b>  {</b></p><p><b>  int num;</b></p><p>  char leixing[10];</p><p>  int jiage;</p><p>  int kong

113、xian;</p><p>  char name[20];</p><p>  char ID[20];</p><p>  char lianxifangshi[15];</p><p>  int yajin;</p><p>  long yudingriqi;</p><p>  lo

114、ng ruzhushijian;</p><p>  int tianshu;</p><p>  long jiezhiriqi;</p><p><b>  }</b></p><p>  hotel[20];</p><p>  void Menu_Display()</p>

115、<p><b>  {</b></p><p>  system("cls");</p><p>  cout<<"\t\t###########################################"<<endl;</p><p>  cout<<

116、"\t\t# @歡迎使用百康賓館管理系統(tǒng)@ #"<<endl;</p><p>  cout<<"\t\t# 請(qǐng)輸入您所需要的功能: #"<<endl;</p><p>  cout<<"\t\t# 1.客房查詢

117、 2.訂房登記 #"<<endl;</p><p>  cout<<"\t\t# 3.入住登記 4.退 房 #"<<endl;</p><p>  cout<<"\t\t# 5. 退 出

118、 #"<<endl;</p><p>  cout<<"\t\t# 感 * 謝 * 您 * 的 * 使 * 用 #"<<endl;</p><p>  cout<<"\t\t###########################################"<

119、<endl;</p><p><b>  }</b></p><p>  void chushihua()</p><p><b>  {</b></p><p>  int i[3]={1,0,1},k=0;</p><p>  for(;k<20;k++)&l

120、t;/p><p><b>  {</b></p><p>  hotel[k].num=i[0]*100+i[1]*10+i[2];</p><p>  strcpy(hotel[k].ID,"0");</p><p>  hotel[k].jiezhiriqi=0;</p><p&g

121、t;  hotel[k].kongxian=0;</p><p>  strcpy(hotel[k].lianxifangshi,"0");</p><p>  strcpy(hotel[k].name,"0");</p><p>  hotel[k].ruzhushijian=0;</p><p> 

122、 hotel[k].tianshu=0;</p><p>  hotel[k].yudingriqi=0;</p><p>  switch(i[0])</p><p><b>  {</b></p><p>  case 1:{hotel[k].jiage=17020;strcpy(hotel[k].leixing,&

123、quot;單人間");break;}</p><p>  case 2:{hotel[k].jiage=28030;strcpy(hotel[k].leixing,"雙人間");break;}</p><p>  case 3:{hotel[k].jiage=50050;strcpy(hotel[k].leixing,"套房");break

124、;}</p><p><b>  }</b></p><p><b>  if(k==8)</b></p><p>  i[0]++,i[2]=0;</p><p><b>  if(k==14)</b></p><p>  i[0]++,i[2]=0;

125、</p><p><b>  i[2]++;</b></p><p><b>  }</b></p><p>  fstream xieru("賓館房間信息.txt",ios::out);</p><p>  xieru<<"房間號(hào) 類型 價(jià)格 是否

126、空閑 姓名 身份證號(hào) 聯(lián)系方式 押金 預(yù)定日期 入住時(shí)間 天數(shù) 截止日期 "<<endl;</p><p>  for(int x=0;x<20;x++)</p><p><b>  {</b></p><p>  xieru<<hotel[x].n

127、um<<' '<<hotel[x].leixing<<' '<<hotel[x].jiage<<' '<<hotel[x].kongxian<<' '<<hotel[x].name</p><p>  <<' '<<

128、hotel[x].ID<<' '<<hotel[x].lianxifangshi<<' '<<hotel[x].yajin<<' '<<hotel[x].yudingriqi<<' '<<hotel[x].ruzhushijian</p><p>  &l

129、t;<' '<<hotel[x].tianshu<<' '<<hotel[x].jiezhiriqi<<endl; </p><p><b>  }</b></p><p>  xieru.close();</p><p><b>  }</

130、b></p><p>  void main()</p><p><b>  {</b></p><p><b>  int p=0;</b></p><p>  cout<<"是否要初始化房間信息?";</p><p>  cout&l

131、t;<"(是請(qǐng)輸入1,否請(qǐng)輸入0)"<<endl;</p><p><b>  cin>>p;</b></p><p><b>  if(p==1)</b></p><p>  chushihua();</p><p>  int chose;<

132、;/p><p>  Menu_Display();</p><p>  cout<<"請(qǐng)輸入選項(xiàng):";</p><p>  cin>>chose;</p><p>  while(chose!=0)</p><p>  {

133、

134、

135、 </p><p>  switch(chose)//用switch語(yǔ)句判斷選擇菜單的功能</p><p><b>  {</b></p><p>  case 1:search_message();break; //客房查詢</p><p>  case 2:d

136、ingfangdengji();break;//訂房間</p><p>  case 3:ruzhudengji();break;//入住房間</p><p>  case 4:tuifang();break;//退房</p><p>  case 5:exit(0);</p><p>  default:cout<<"

137、輸入錯(cuò)誤,請(qǐng)重新輸入"<<endl; //提示錯(cuò)誤命令</p><p><b>  }</b></p><p>  cout<<"\t\t###########################################"<<endl;</p><p>  cout<&

138、lt;"\t\t# @歡迎使用百康賓館管理系統(tǒng)@ #"<<endl;</p><p>  cout<<"\t\t# 請(qǐng)輸入您所需要的功能: #"<<endl;</p><p>  cout<<"\t\t# 1.客房查詢

139、 2.訂房登記 #"<<endl;</p><p>  cout<<"\t\t# 3.入住登記 4.退 房 #"<<endl;</p><p>  cout<<"\t\t# 5. 退 出

140、 #"<<endl;</p><p>  cout<<"\t\t# 感 * 謝 * 您 * 的 * 使 * 用 #"<<endl;</p><p>  cout<<"\t\t###########################################"&

141、lt;<endl;</p><p>  cout<<"請(qǐng)輸入選項(xiàng):";</p><p>  cin>>chose;</p><p>  while(chose==0)</p><p><b>  {</b></p><p>  cout<&l

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論