2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩35頁(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ì)</p><p><b>  酒店客房預(yù)訂管理</b></p><p><b>  指導(dǎo)教師:****</b></p><p>  專業(yè)班級(jí):自動(dòng)化**班</p><p>  設(shè) 計(jì) 者:**、**、**、**</p><p>  

2、設(shè)計(jì)時(shí)間:2011年**月</p><p><b>  目 錄</b></p><p>  一 需求分析·····················

3、3;··················3</p><p>  二 組員分工·············&#

4、183;··························4</p><p>  三 系統(tǒng)總框圖·····

5、;·································4</p><p>

6、;  四 系統(tǒng)軟硬件環(huán)境··································4<

7、;/p><p>  五 模塊設(shè)計(jì)分析································

8、····5</p><p>  六 函數(shù)定義及說(shuō)明···························&

9、#183;······12</p><p>  七 使用說(shuō)明························

10、3;···············18</p><p>  八 程序源代碼················

11、······················21</p><p>  九 結(jié)束語(yǔ)·········

12、3;································35</p><p>  十

13、 參考文獻(xiàn)····································

14、;····35</p><p><b>  酒店客房預(yù)訂管理</b></p><p><b>  一 需求分析</b></p><p><b>  1.1綜述</b></p><p>  隨著人類社會(huì)進(jìn)入信息時(shí)代,計(jì)算機(jī)越來(lái)越多地活躍在社

15、會(huì)各個(gè)領(lǐng)域:管理,網(wǎng)絡(luò),計(jì)算,控制,多媒體等。并且在某些方面成為不可缺少的工具,尤其在管理方面,管理軟件的出現(xiàn)使大量繁瑣復(fù)雜的問(wèn)題變得簡(jiǎn)單易行。</p><p>  現(xiàn)今酒店賓館的規(guī)模不斷擴(kuò)大,客戶數(shù)量急劇增加,有關(guān)客戶的各種信息也成倍增長(zhǎng),尤其是大量的客房預(yù)訂信息。面對(duì)龐大的信息量,需要有客戶信息管理系統(tǒng)來(lái)提高客戶管理工作的效率。通過(guò)這樣的系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和快速的查詢,從而減少管理方面的工

16、作量。當(dāng)前許多酒店正在逐步完善客戶信息管理工作,需要一個(gè)能滿足內(nèi)部管理需求,提高管理效率的應(yīng)用系統(tǒng)進(jìn)行內(nèi)部管理。許多賓館經(jīng)過(guò)多年的發(fā)展,規(guī)模不斷擴(kuò)大,客流量成倍增長(zhǎng),積累了大量的客戶信息急需進(jìn)行統(tǒng)一管理以防信息的流失。因此,許多賓館需要一個(gè)功能全面的客戶信息管理系統(tǒng)來(lái)進(jìn)行管理,以使管理客戶信息的工作在該系統(tǒng)的配合下更加高效和便捷。</p><p><b>  1.2系統(tǒng)功能分析</b><

17、;/p><p>  酒店客房預(yù)訂信息管理系統(tǒng)是一個(gè)對(duì)客戶全方面管理的程序。該客房預(yù)訂信息管理系統(tǒng)是在Visual C++ 6.0平臺(tái)下設(shè)計(jì)開(kāi)發(fā),以TXT文檔為后臺(tái)數(shù)據(jù)庫(kù),采用面向?qū)ο蟮恼Z(yǔ)言開(kāi)發(fā)而成,實(shí)現(xiàn)對(duì)客戶預(yù)訂信息的基本管理,包括客房信息、客戶信息的添加,修改和查詢。該系統(tǒng)充分考慮用戶的操作簡(jiǎn)便性,實(shí)現(xiàn)快捷操作。它有以下幾個(gè)功能:</p><p> ?。?)客房設(shè)置:可以添加新客房,修改客房

18、描述(房間等級(jí),內(nèi)部設(shè)施等),刪除客房。</p><p> ?。?)客戶設(shè)置:可以添加新客戶,修改客戶信息,刪除已退訂客戶等??蓽?zhǔn)確了解每一客戶的預(yù)訂信息。</p><p> ?。?)房間預(yù)訂情況查詢:可按客戶號(hào)、房號(hào)查詢。方便實(shí)用,在眾多房間、客戶中準(zhǔn)確查詢到某一個(gè)房間或客戶。</p><p><b>  二 組員分工</b></p&g

19、t;<p><b>  封面設(shè)計(jì):**</b></p><p>  程序設(shè)計(jì):**、**、***、***</p><p>  程序勘誤:**、**</p><p>  報(bào)告編寫(xiě):**、***、***</p><p><b>  小組組長(zhǎng):**</b></p><p&

20、gt;<b>  三 系統(tǒng)總框圖</b></p><p>  設(shè)計(jì)一個(gè)程序來(lái)實(shí)現(xiàn)酒店客房預(yù)訂的管理,該程序應(yīng)該包含信息錄入、輸出、修改、刪除和查詢等功能模塊。本程序各功能模塊結(jié)構(gòu)總框圖如下:</p><p><b>  四 系統(tǒng)軟硬件環(huán)境</b></p><p>  WindowsXP、Visual C++6.0、CPU(

21、pentium4 2.4Hz)、內(nèi)存(256MB)、硬盤(80G)</p><p><b>  五 模塊設(shè)計(jì)分析</b></p><p>  5.1模塊設(shè)計(jì)思路分析</p><p>  本程序共有五大功能模塊:新建模塊、更改模塊、刪除模塊、查詢模塊和顯示模塊。各模塊在功能上互相補(bǔ)充,在程序中互相融合,才能實(shí)現(xiàn)一個(gè)具有多種功能的管理系統(tǒng)。<

22、;/p><p> ?。?)新建模塊:實(shí)現(xiàn)所有客房、訂房客戶的錄入工作。</p><p> ?。?)更改模塊:提供數(shù)據(jù)的修改,包括客戶姓名、客房描述等。</p><p> ?。?)刪除模塊:將已退訂的客戶從數(shù)據(jù)庫(kù)中刪除。</p><p> ?。?)查詢模塊:本程序最重要的模塊,也是本系統(tǒng)的精髓所在。通過(guò)房間號(hào)或客戶號(hào)實(shí)現(xiàn)客房的預(yù)訂情況以及客戶入住情

23、況的查詢工作。</p><p> ?。?)顯示模塊:顯示所有客房、訂房客戶的基本信息。</p><p>  在程序設(shè)計(jì)上,我們的目標(biāo)就是先實(shí)現(xiàn)單個(gè)模塊,進(jìn)而實(shí)現(xiàn)整個(gè)程序。本程序正是本著這種思想,一步一步,有條不紊的進(jìn)行規(guī)劃與設(shè)計(jì)。本程序通過(guò)四個(gè)類:客戶類、客戶庫(kù)類、客房類、客房庫(kù)類,并通過(guò)主函數(shù)調(diào)用類函數(shù)實(shí)現(xiàn)了這五大功能模塊的功能。</p><p>  5.2五大功

24、能模塊的實(shí)現(xiàn)</p><p><b>  5.2.1客戶類:</b></p><p>  class customer </p><p><b>  { </b></p><p><b>  private:</b></p><p>  

25、int tag; //刪除標(biāo)記 1:已刪 0:未刪</p><p>  int no; //客戶編號(hào)</p><p>  char name[10]; //客戶姓名</p><p>  int borbook[Maxbor];

26、 //所訂房間</p><p><b>  public:</b></p><p>  customer() {}</p><p>  char *getname() {return name;}//獲取姓名</p><p>  int gettag() {return tag;} //獲取

27、刪除標(biāo)記</p><p>  int getno() {return no;} //獲取客戶編號(hào)</p><p>  void setname(char na[]) //設(shè)置姓名</p><p><b>  { </b></p><p>  strcpy(name,na);</p>&

28、lt;p><b>  }</b></p><p>  void delbook(){ tag=1; } //設(shè)置刪除標(biāo)記 1:已刪 0:未刪</p><p>  void addcustomer(int n,char *na) //增加客戶</p><p><b>  { </b></p>

29、<p><b>  tag=0;</b></p><p><b>  no=n;</b></p><p>  strcpy(name,na);</p><p>  for(int i=0;i<Maxbor;i++)</p><p>  borbook[i]=0;</p>

30、;<p><b>  }</b></p><p>  void borrowbook(int bookid) //預(yù)訂操作</p><p><b>  {</b></p><p>  for(int i=0;i<Maxbor;i++)</p><p><b>

31、;  { </b></p><p>  if (borbook[i]==0)</p><p><b>  {</b></p><p>  borbook[i]=bookid;</p><p><b>  return;</b></p><p><b> 

32、 }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  int retbook(int bookid) //退訂操作</p><p><b>  { </b></p><

33、;p>  for(int i=0;i<Maxbor;i++)</p><p><b>  { </b></p><p>  if(borbook[i]==bookid)</p><p><b>  {</b></p><p>  borbook[i]=0;</p><

34、p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></

35、p><p>  void disp() //讀出客戶信息</p><p><b>  { </b></p><p>  cout << setw(5) << no <<setw(10) << name<<"\t 客房編號(hào):[&qu

36、ot;;</p><p>  for(int i=0;i<Maxbor;i++)</p><p>  if(borbook[i]!=0)</p><p>  cout << borbook[i];</p><p>  cout << "]"<<endl;</p>&

37、lt;p><b>  }</b></p><p><b>  };</b></p><p>  5.2.2客戶庫(kù)類:</p><p>  class RDatabase</p><p><b>  { </b></p><p><b>

38、  private:</b></p><p>  int top; //客戶記錄指針</p><p>  customer read[Maxr]; //客戶記錄</p><p><b>  public:</b></p><p&g

39、t;  RDatabase() //構(gòu)造函數(shù),將customer.txt讀到read[]中</p><p><b>  {</b></p><p>  customer s;</p><p><b>  top=-1;</b></p><p>  fstr

40、eam file("customer.txt",ios::in); //打開(kāi)一個(gè)輸入文件</p><p><b>  while (1)</b></p><p><b>  {</b></p><p>  file.read((char *)&s,sizeof(s));</p>

41、<p>  if (!file)break;</p><p><b>  top++;</b></p><p>  read[top]=s;</p><p><b>  }</b></p><p>  file.close(); //關(guān)閉 custome

42、r.txt</p><p><b>  }</b></p><p>  void clear() //刪除所有客戶信息</p><p><b>  {</b></p><p><b>  top=-1;</b></p>&

43、lt;p><b>  }</b></p><p>  int addcustomer(int n,char *na) //添加客戶時(shí)先查找是否存在</p><p><b>  {</b></p><p>  customer *p=query(n);</p><p>  if (p==

44、NULL)</p><p><b>  {</b></p><p><b>  top++;</b></p><p>  read[top].addcustomer(n,na);</p><p><b>  return 1;</b></p><p>&

45、lt;b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  customer *query(int customerid) //按編號(hào)查找</p><p><b>  {<

46、/b></p><p>  for (int i=0;i<=top;i++)</p><p>  if (read[i].getno()==customerid && </p><p>  read[i].gettag()==0)</p><p><b>  {</b></p>

47、<p>  return &read[i];</p><p><b>  }</b></p><p>  return NULL;</p><p><b>  }</b></p><p>  void disp() //輸出所有客戶信息&

48、lt;/p><p><b>  {</b></p><p>  for (int i=0;i<=top;i++)</p><p>  read[i].disp();</p><p><b>  }</b></p><p>  void customerdata();

49、 //客戶庫(kù)維護(hù)</p><p>  ~RDatabase() //析構(gòu)函數(shù),將read[]寫(xiě)到customer.txt文件中</p><p><b>  {</b></p><p>  fstream file("customer.txt",ios::out)

50、;</p><p>  for (int i=0;i<=top;i++)</p><p>  if (read[i].gettag()==0)</p><p>  file.write((char *)&read[i],sizeof(read[i]));</p><p>  file.close();</p>&l

51、t;p><b>  }</b></p><p><b>  };</b></p><p><b>  5.2.3客房類:</b></p><p>  class Book</p><p><b>  {</b></p><p>

52、;<b>  private:</b></p><p>  int tag; //刪除標(biāo)記 1:已刪 0:未刪</p><p>  int no; //客房編號(hào)</p><p>  char name[20];

53、 //客房描述</p><p>  int onshelf; //是否預(yù)訂 1:空房 2:已預(yù)訂</p><p><b>  public:</b></p><p><b>  Book(){}</b></p><p>  char *getname()

54、 { return name; } //獲取姓名</p><p>  int getno(){ return no; } //獲取客房編號(hào)</p><p>  int gettag(){ return tag; } //獲取刪除標(biāo)記</p><p>  void setname(char na[]) //設(shè)置客房描述

55、</p><p><b>  {</b></p><p>  strcpy(name,na);</p><p><b>  }</b></p><p>  void delbook(){ tag=1;} //刪除客房</p><p>  void addb

56、ook(int n,char *na) //增加客房</p><p><b>  {</b></p><p><b>  tag=0;</b></p><p><b>  no=n;</b></p><p>  strcpy(name,na);</p>

57、<p>  onshelf=1;</p><p><b>  }</b></p><p>  int borrowbook() //預(yù)訂操作</p><p><b>  {</b></p><p>  if (onshelf==1)</p>

58、<p><b>  {</b></p><p>  onshelf=0;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  return 0;</b></p>

59、<p><b>  }</b></p><p>  void retbook() //退訂操作</p><p><b>  {</b></p><p>  onshelf=1;</p><p><b>  }</b></p

60、><p>  void disp() //輸出客房</p><p><b>  {</b></p><p>  cout << setw(6) << no << setw(18) << name << setw(10)</p>&l

61、t;p>  <<(onshelf==1? "空房":"已預(yù)訂") <<endl;</p><p><b>  }</b></p><p><b>  };</b></p><p>  5.2.4客房庫(kù)類:</p><p>  cl

62、ass BDatabase</p><p><b>  {</b></p><p><b>  private:</b></p><p>  int top; //客房記錄指針</p><p>  Book book[Maxb];

63、 //客房記錄</p><p><b>  public:</b></p><p>  BDatabase() //構(gòu)造函數(shù),將book.txt讀到book[]中</p><p><b>  { </b></p><p><b> 

64、 Book b;</b></p><p><b>  top=-1;</b></p><p>  fstream file("book.txt",ios::in);</p><p><b>  while (1)</b></p><p><b>  {<

65、;/b></p><p>  file.read((char *)&b,sizeof(b));</p><p>  if (!file) break;</p><p><b>  top++;</b></p><p>  book[top]=b;</p><p><b> 

66、 }</b></p><p>  file.close();</p><p><b>  }</b></p><p>  void clear() //全刪</p><p><b>  {</b></p><p><

67、b>  top=-1;</b></p><p><b>  }</b></p><p>  int addbook(int n,char *na) //增加客房</p><p><b>  {</b></p><p>  Book *p=query(n);</p&

68、gt;<p>  if (NULL==p)</p><p><b>  {</b></p><p><b>  top++;</b></p><p>  book[top].addbook(n,na);</p><p><b>  return 1;</b><

69、;/p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  Book *query(int bookid) //查找客房</p><p>&l

70、t;b>  {</b></p><p>  for (int i=0;i<=top;i++)</p><p>  if (book[i].getno()==bookid &&book[i].gettag()==0)</p><p><b>  {</b></p><p>  re

71、turn &book[i];</p><p><b>  }</b></p><p>  return NULL;</p><p><b>  }</b></p><p>  void bookdata(); //客房庫(kù)維護(hù)</p><p

72、>  void disp()</p><p><b>  {</b></p><p>  for (int i=0;i<=top;i++)</p><p>  if (book[i].gettag()==0)</p><p>  book[i].disp();</p><p><

73、b>  }</b></p><p>  ~BDatabase() //析構(gòu)函數(shù),將book[]寫(xiě)到book.txt文件中</p><p><b>  {</b></p><p>  fstream file("book.txt",ios::out);</p&g

74、t;<p>  for (int i=0;i<=top;i++)</p><p>  if (book[i].gettag()==0)</p><p>  file.write((char *)&book[i],sizeof(book[i]));</p><p>  file.close();</p><p>&l

75、t;b>  }</b></p><p><b>  };</b></p><p><b>  六 函數(shù)定義及說(shuō)明</b></p><p><b>  6.1主函數(shù)</b></p><p>  void main()</p><p>&l

76、t;b>  { </b></p><p>  char choice;</p><p>  int bookid,customerid;</p><p>  RDatabase customerDB;</p><p>  customer *r;</p><p>  BDatabase Book

77、DB;</p><p><b>  Book *b;</b></p><p>  while(choice!='0')</p><p><b>  { </b></p><p>  cout <<endl<<endl<<"\t

78、\t 酒 店 客 房 預(yù) 訂 管 理\n\n\n";</p><p>  cout <<"\t\t\t1 訂 房\n\n\t\t\t2 退 訂\n\n\t\t\t3 客 房 信 息\n\n\t\t\t4 客 戶 信 息\n\n\t\t\t0 退 出"<<endl;</p&

79、gt;<p>  cin >> choice;</p><p>  switch (choice)</p><p><b>  {</b></p><p><b>  case '1':</b></p><p>  cout <<"==

80、==========\n輸入客戶編號(hào):";</p><p>  cin >>customerid;</p><p>  cout <<"輸入客房編號(hào):";</p><p>  cin >>bookid;</p><p>  r=customerDB.query(customer

81、id);//按編號(hào)查找</p><p>  if (NULL==r)</p><p><b>  {</b></p><p>  cout <<" 不存在的客戶,不能預(yù)訂"<< endl;</p><p><b>  break;</b></p&g

82、t;<p><b>  }</b></p><p>  b=BookDB.query(bookid);</p><p>  if (b==NULL)</p><p><b>  {</b></p><p>  cout <<" 不存在的客房,不能預(yù)訂"

83、<< endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if (b->borrowbook()==0)</p><p><b>  {</b></p><p>  

84、cout << " 該客房已預(yù)訂,不能預(yù)訂"<< endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  r->borrowbook(b->getno());</p><p>

85、<b>  break;</b></p><p><b>  case '2':</b></p><p>  cout<<"============\n輸入客戶編號(hào):";</p><p>  cin >>customerid;</p><p&g

86、t;  cout << "輸入客房編號(hào):";</p><p>  cin >>bookid;</p><p>  r=customerDB.query(customerid);</p><p>  if (r==NULL)</p><p><b>  {</b></p&g

87、t;<p>  cout <<" 不存在的客戶,不能退訂" << endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  b=BookDB.query(bookid);</p><

88、;p>  if (b==NULL)</p><p><b>  {</b></p><p>  cout <<" 不存在的客房,不能退訂" <<endl;</p><p><b>  break;</b></p><p><b>  }&

89、lt;/b></p><p>  b->retbook();</p><p>  r->retbook(b->getno());</p><p><b>  break;</b></p><p><b>  case '3':</b></p>&

90、lt;p>  BookDB.bookdata();</p><p><b>  break;</b></p><p><b>  case '4':</b></p><p>  customerDB.customerdata();</p><p><b>  brea

91、k;</b></p><p>  default:cout<<"正在寫(xiě)入數(shù)據(jù)庫(kù)......謝謝使用!";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></

92、p><p><b>  6.2客戶庫(kù)函數(shù)</b></p><p>  void RDatabase::customerdata()</p><p><b>  {</b></p><p>  char choice;</p><p>  char rname[20];</p

93、><p>  int customerid;</p><p>  customer *r;</p><p>  while (choice!='0')</p><p><b>  {</b></p><p>  cout <<"\n\n\t\t\t客 戶

94、信 息\n\n\n\t\t\t1 新 增\n\n\t\t\t2 更 改\n\n\t\t\t3 刪 除\n\n\t\t\t4 查 找\n\n\t\t\t5 顯 示\n\n\t\t\t6 全 刪\n\n\t\t\t0 返 回"<<endl;</p><p>  cin >> choi

95、ce;</p><p>  switch (choice)</p><p><b>  {</b></p><p><b>  case '1':</b></p><p>  cout << "輸入客戶編號(hào):";</p><p>

96、;  cin >> customerid;</p><p>  cout << "輸入客戶姓名:";</p><p>  cin >> rname;</p><p>  addcustomer (customerid,rname);</p><p><b>  break;&l

97、t;/b></p><p><b>  case '2':</b></p><p>  cout << "輸入客戶編號(hào):";</p><p>  cin >> customerid;</p><p>  r=query(customerid);</p

98、><p>  if (r==NULL)</p><p><b>  {</b></p><p>  cout << " 該客戶不存在 "<<endl;</p><p><b>  break;</b></p><p><b&g

99、t;  }</b></p><p>  cout << "輸入新的客戶姓名:";</p><p>  cin >> rname;</p><p>  r->setname(rname);</p><p><b>  break;</b></p>

100、<p><b>  case '3':</b></p><p>  cout << "輸入客戶編號(hào):";</p><p>  cin >> customerid;</p><p>  r=query(customerid);</p><p>  if

101、(r==NULL)</p><p><b>  {</b></p><p>  cout <<" 該客戶不存在" << endl;</p><p><b>  break;</b></p><p><b>  }</b></p

102、><p>  r->delbook();</p><p><b>  break;</b></p><p><b>  case '4':</b></p><p>  cout << "輸入客戶編號(hào):";</p><p>  

103、cin >> customerid;</p><p>  r=query(customerid);</p><p>  if (r==NULL)</p><p><b>  {</b></p><p>  cout <<" 該客戶不存在"<< endl;</

104、p><p><b>  break;</b></p><p><b>  }</b></p><p>  r->disp();</p><p><b>  break;</b></p><p><b>  case '5':&

105、lt;/b></p><p><b>  disp();</b></p><p><b>  break;</b></p><p><b>  case '6':</b></p><p><b>  clear();</b></

106、p><p><b>  break;</b></p><p>  default:cout<<"正在返回主界面...";break;</p><p><b>  }</b></p><p><b>  }</b></p><p&g

107、t;<b>  }</b></p><p><b>  6.3客房庫(kù)函數(shù)</b></p><p>  void BDatabase::bookdata()</p><p><b>  {</b></p><p>  char choice;</p><p&g

108、t;  char bname[40];</p><p>  int bookid;</p><p><b>  Book *b;</b></p><p>  while (choice!='0')</p><p><b>  {</b></p><p>  c

109、out <<"\n\n\n\t\t\t客 房 信 息 "<<endl<<endl;</p><p>  cout<<"\n\t\t\t1 新 增\n\n\t\t\t2 更 改\n\n\t\t\t3 刪 除\n\n\t\t\t4 查 找\n\n\t\t\t5 顯 示\n\n

110、\t\t\t6 全 刪\n\n\t\t\t0 返 回"<<endl;</p><p>  cin >> choice;</p><p>  switch (choice)</p><p><b>  {</b></p><p><b>  case &#

111、39;1':</b></p><p>  cout << "輸入客房編號(hào):";</p><p>  cin >> bookid;</p><p>  cout << "輸入客房描述:";</p><p>  cin >> bname;&

112、lt;/p><p>  addbook(bookid,bname);</p><p><b>  break;</b></p><p><b>  case '2':</b></p><p>  cout << "輸入客房編號(hào):";</p>

113、<p>  cin >> bookid;</p><p>  b=query(bookid);</p><p>  if (b==NULL)</p><p><b>  {</b></p><p>  cout <<" 該客房不存在 "<<endl;&

114、lt;/p><p><b>  break;</b></p><p><b>  }</b></p><p>  cout << "輸入新的客房描述:";</p><p>  cin >> bname;</p><p>  b->

115、setname(bname);</p><p><b>  break;</b></p><p><b>  case '3':</b></p><p>  cout <<"輸入客房編號(hào):";</p><p>  cin >> bookid

116、;</p><p>  b=query(bookid);</p><p>  if (b==NULL)</p><p><b>  {</b></p><p>  cout <<" 該客房不存在" << endl;</p><p><b> 

117、 break;</b></p><p><b>  }</b></p><p>  b->delbook();</p><p><b>  break;</b></p><p><b>  case '4':</b></p>&l

118、t;p>  cout << "輸入客房編號(hào):";</p><p>  cin >> bookid;</p><p>  b=query(bookid);</p><p>  if (b==NULL)</p><p><b>  {</b></p><p

119、>  cout <<" 該客房不存在"<< endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  b->disp();</p><p><b>  break;&l

120、t;/b></p><p><b>  case '5':</b></p><p><b>  disp();</b></p><p><b>  break;</b></p><p><b>  case '6':</b&

121、gt;</p><p><b>  clear();</b></p><p><b>  break;</b></p><p>  default:cout<<"正在返回主界面...";</p><p><b>  }</b></p>

122、<p><b>  }</b></p><p><b>  }</b></p><p><b>  七 使用說(shuō)明</b></p><p> ?。?)程序主界面:界面簡(jiǎn)潔明了,一目了然,便于操作。選擇數(shù)字0-4進(jìn)入相應(yīng)功能。</p><p> ?。?)客戶信息:主界

123、面選擇4進(jìn)入客戶信息管理菜單。</p><p>  1.新增:系統(tǒng)提示輸入客戶號(hào)碼、姓名等信息,按要求錄入即可。</p><p>  2.更改:系統(tǒng)提示輸入要更改的客戶號(hào),輸入后即可更改該客戶的個(gè)人信息。</p><p>  3.刪除:系統(tǒng)提示輸入要?jiǎng)h除的客戶號(hào),輸入后即可刪除該客戶。</p><p>  4.查詢:系統(tǒng)提示輸入要查詢的客戶號(hào)

124、,輸入后即可查看該客戶的訂房信息。</p><p>  5.顯示:顯示所有預(yù)訂客戶的個(gè)人信息以及預(yù)訂房號(hào)。</p><p>  6.全刪:刪除所有客戶。</p><p>  0.返回:返回主界面。</p><p> ?。?)客房信息:主界面選擇3進(jìn)入客房信息管理菜單。</p><p>  1.新增:系統(tǒng)提示輸入房間號(hào)、

125、房間描述等信息,按要求錄入即可。</p><p>  2.更改:系統(tǒng)提示輸入要更改的房間號(hào),輸入后即可更改該房間的描述信息。</p><p>  3.刪除:系統(tǒng)提示輸入要?jiǎng)h除的房間號(hào),輸入后即可刪除該房間。</p><p>  4.查詢:系統(tǒng)提示輸入要查詢的房間號(hào),輸入后即可查看該房間的預(yù)訂情況。</p><p>  5.顯示:顯示所有房間的

126、描述信息以及預(yù)訂情況。</p><p>  6.全刪:刪除所有房間。</p><p>  0.返回:返回主界面。</p><p>  (4)訂房:主界面選擇1進(jìn)入訂房功能。</p><p>  (5)退房:主界面選擇2進(jìn)入退房功能。</p><p> ?。?)退出:主界面選擇0退出程序并保存數(shù)據(jù)庫(kù)。</p>

127、<p><b>  八 程序源代碼</b></p><p>  #include <iostream></p><p>  #include <iomanip></p><p>  #include <string></p><p>  #include <fstr

128、eam> //輸入/輸出文件流類</p><p>  using namespace std;</p><p>  const int Maxr=100; //最多的客戶</p><p>  const int Maxb=100; //最多的客房<

129、;/p><p>  const int Maxbor=5; //每位客戶最多預(yù)訂五間客房</p><p>  //客戶類,實(shí)現(xiàn)對(duì)客戶的信息的描述</p><p>  class customer </p><p><b>  { </b></p><p&

130、gt;<b>  private:</b></p><p>  int tag; //刪除標(biāo)記 1:已刪 0:未刪</p><p>  int no; //客戶編號(hào)</p><p>  char name[10];

131、 //客戶姓名</p><p>  int borbook[Maxbor]; //所訂房間</p><p><b>  public:</b></p><p>  customer() {}</p><p>  char *getname() {return name;}//獲取姓名&l

132、t;/p><p>  int gettag() {return tag;} //獲取刪除標(biāo)記</p><p>  int getno() {return no;} //獲取客戶編號(hào)</p><p>  void setname(char na[]) //設(shè)置姓名</p><p><b>  { </b&

133、gt;</p><p>  strcpy(name,na);</p><p><b>  }</b></p><p>  void delbook(){ tag=1; } //設(shè)置刪除標(biāo)記 1:已刪 0:未刪</p><p>  void addcustomer(int n,char *na) //增加客戶&

134、lt;/p><p><b>  { </b></p><p><b>  tag=0;</b></p><p><b>  no=n;</b></p><p>  strcpy(name,na);</p><p>  for(int i=0;i<Max

135、bor;i++)</p><p>  borbook[i]=0;</p><p><b>  }</b></p><p>  void borrowbook(int bookid) //預(yù)訂操作</p><p><b>  {</b></p><p>  for(

136、int i=0;i<Maxbor;i++)</p><p><b>  { </b></p><p>  if (borbook[i]==0)</p><p><b>  {</b></p><p>  borbook[i]=bookid;</p><p><b&

137、gt;  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  int retbook(int bookid) //退訂操作</p

138、><p><b>  { </b></p><p>  for(int i=0;i<Maxbor;i++)</p><p><b>  { </b></p><p>  if(borbook[i]==bookid)</p><p><b>  {</b>

139、;</p><p>  borbook[i]=0;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return 0;</

140、b></p><p><b>  }</b></p><p>  void disp() //讀出客戶信息</p><p><b>  { </b></p><p>  cout << setw(5) << no <&l

141、t;setw(10) << name<<"\t 客房編號(hào):[";</p><p>  for(int i=0;i<Maxbor;i++)</p><p>  if(borbook[i]!=0)</p><p>  cout << borbook[i];</p><p>  c

142、out << "]"<<endl;</p><p><b>  }</b></p><p><b>  };</b></p><p>  //客戶庫(kù)類,實(shí)現(xiàn)建立客戶的個(gè)人資料</p><p>  class RDatabase</p>&l

143、t;p><b>  { </b></p><p><b>  private:</b></p><p>  int top; //客戶記錄指針</p><p>  customer read[Maxr]; //客戶記錄</p&

144、gt;<p><b>  public:</b></p><p>  RDatabase() //構(gòu)造函數(shù),將customer.txt讀到read[]中</p><p><b>  {</b></p><p>  customer s;</p><

145、;p><b>  top=-1;</b></p><p>  fstream file("customer.txt",ios::in); //打開(kāi)一個(gè)輸入文件</p><p><b>  while (1)</b></p><p><b>  {</b></p&g

146、t;<p>  file.read((char *)&s,sizeof(s));</p><p>  if (!file)break;</p><p><b>  top++;</b></p><p>  read[top]=s;</p><p><b>  }</b><

147、/p><p>  file.close(); //關(guān)閉 customer.txt</p><p><b>  }</b></p><p>  void clear() //刪除所有客戶信息</p><p><b>  {</b>&

148、lt;/p><p><b>  top=-1;</b></p><p><b>  }</b></p><p>  int addcustomer(int n,char *na) //添加客戶時(shí)先查找是否存在</p><p><b>  {</b></p>&

149、lt;p>  customer *p=query(n);</p><p>  if (p==NULL)</p><p><b>  {</b></p><p><b>  top++;</b></p><p>  read[top].addcustomer(n,na);</p>

150、<p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  customer *query(int c

151、ustomerid) //按編號(hào)查找</p><p><b>  {</b></p><p>  for (int i=0;i<=top;i++)</p><p>  if (read[i].getno()==customerid && </p><p>  read[i].gettag

152、()==0)</p><p><b>  {</b></p><p>  return &read[i];</p><p><b>  }</b></p><p>  return NULL;</p><p><b>  }</b></p&

153、gt;<p>  void disp() //輸出所有客戶信息</p><p><b>  {</b></p><p>  for (int i=0;i<=top;i++)</p><p>  read[i].disp();</p><p><b>

154、;  }</b></p><p>  void customerdata(); //客戶庫(kù)維護(hù)</p><p>  ~RDatabase() //析構(gòu)函數(shù),將read[]寫(xiě)到customer.txt文件中</p><p><b>  {</b></p>

155、;<p>  fstream file("customer.txt",ios::out);</p><p>  for (int i=0;i<=top;i++)</p><p>  if (read[i].gettag()==0)</p><p>  file.write((char *)&read[i],sizeof

156、(read[i]));</p><p>  file.close();</p><p><b>  }</b></p><p><b>  };</b></p><p>  void RDatabase::customerdata()</p><p><b>  {

157、</b></p><p>  char choice;</p><p>  char rname[20];</p><p>  int customerid;</p><p>  customer *r;</p><p>  while (choice!='0')</p>&l

158、t;p><b>  {</b></p><p>  cout <<"\n\n\t\t\t客 戶 信 息\n\n\n\t\t\t1 新 增\n\n\t\t\t2 更 改\n\n\t\t\t3 刪 除\n\n\t\t\t4 查 找\n\n\t\t\t5 顯 示\n\n\t\t\t6

溫馨提示

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