2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩14頁(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ào)告</b></p><p>  課程名稱 _《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》 </p><p>  設(shè)計(jì)題目 _ 模擬網(wǎng)上購(gòu)書的結(jié)賬功能 </p><p><b>  2015年6月</b></p><p>  模擬網(wǎng)上購(gòu)書的結(jié)賬功能</p><

2、p><b>  課題內(nèi)容和要求</b></p><p>  隨著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)上購(gòu)物越來越受到大家的喜愛,坐在家中,點(diǎn)點(diǎn)鼠標(biāo),就有人把你要的東西送到手中,多愜意呀!</p><p>  現(xiàn)在要解決的問題是,用戶在網(wǎng)上購(gòu)書以后,系統(tǒng)根據(jù)購(gòu)書人的不同類型計(jì)算出購(gòu)書人的費(fèi)用。</p><p>  網(wǎng)上購(gòu)書的一般過程是:用戶首先輸入自己的會(huì)

3、員號(hào),然后,選擇想買的書籍放到購(gòu)書筐中,選擇結(jié)束以后,用戶要求系統(tǒng)結(jié)賬,系統(tǒng)便計(jì)算出費(fèi)用通知用戶。本設(shè)計(jì)并不想模擬網(wǎng)上購(gòu)書的全部過程,所以會(huì)把選擇書的過程略去,假設(shè)用戶已經(jīng)選定了兩本書。</p><p>  根據(jù)實(shí)際情況,確定購(gòu)書人可以分為三類:普通人、會(huì)員、貴賓。</p><p>  “普通人”的購(gòu)書費(fèi)用按照書的原價(jià)收取。、</p><p>  “會(huì)員”的購(gòu)書費(fèi)用

4、計(jì)算方法是:五星級(jí)會(huì)員按照原價(jià)的70% 收取,四星級(jí)會(huì)員按照原價(jià)的80% 收取,三星級(jí)會(huì)員按照原價(jià)的85% 收取,二星級(jí)會(huì)員按照原價(jià)的90% 收取,一星級(jí)會(huì)員按照原價(jià)的95% 收取。</p><p>  “貴賓”的購(gòu)書費(fèi)用根據(jù)特別指定的折扣率計(jì)算收取的費(fèi)用,例如折扣率40%,則按照實(shí)際書費(fèi)的60%收取。</p><p>  用例圖比較簡(jiǎn)單,在此略去。</p><p>

5、;<b>  對(duì)象(類)設(shè)計(jì)</b></p><p>  根據(jù)上面的分析,需要設(shè)計(jì)一個(gè)基類buyer和它的3個(gè)派生類member(會(huì)員)、layfolk(普通人)、honoured_guest(貴賓)?;愔邪臄?shù)據(jù)成員是姓名、購(gòu)書人編號(hào)、地址、購(gòu)書金額。member類中除了繼承buyer的數(shù)據(jù),還增加了會(huì)員級(jí)別leaguer_grade。honoured_guest則增加了折扣率disc

6、ount_rate。</p><p>  在基類中定義了構(gòu)造函數(shù)和對(duì)所有類型的購(gòu)書人相同的操作,getbuyname負(fù)責(zé)取出購(gòu)書者的姓名,getaddress負(fù)責(zé)取出購(gòu)書者的地址,getpay負(fù)責(zé)取出購(gòu)書者應(yīng)付的金額,getid則負(fù)責(zé)取出購(gòu)書者的編號(hào)。由于對(duì)不同購(gòu)書者的購(gòu)書金額的計(jì)算方法不同,所以不能在基類中確定計(jì)算方法,又由于各類購(gòu)書者的數(shù)據(jù)內(nèi)容不同,顯示的方法也不一樣,因此,在基類中將setpay和displ

7、ay定義為虛函數(shù)。</p><p>  在此基礎(chǔ)上增加buyers和bookshop類,再利用c++STL里的vector類庫(kù),實(shí)現(xiàn)對(duì)圖書和購(gòu)書人信息的增刪補(bǔ)查操作。</p><p>  有關(guān)購(gòu)書者的類定義如下:</p><p>  class buyer { // 基類</p><p>  protected:</p><

8、;p>  string name; // 姓名</p><p>  int buyerID; // 購(gòu)書人編號(hào)</p><p>  string address; // 地址</p><p>  double pay; // 購(gòu)書金額</p><p><b>  public:</b></p><

9、;p><b>  buyer();</b></p><p>  buyer(string n, int b, string a, double p);</p><p>  string getbuyname(); // 取姓名</p><p>  string getaddress(); // 取地址</p><p&g

10、t;  double getpay(); // 取應(yīng)付金額</p><p>  int getid(); // 取購(gòu)書人編號(hào)</p><p>  virtual void display() = 0; // 顯示函數(shù)</p><p>  virtual void setpay(double = 0) = 0; // 計(jì)算購(gòu)書金額</p><p&g

11、t;<b>  };</b></p><p>  class member : public buyer { // 會(huì)員類</p><p>  int leaguer_grade; // 會(huì)員級(jí)別</p><p><b>  public:</b></p><p>  member(string n

12、, int b, int l, string a, double p) : buyer(n, b, a, p) { // 構(gòu)造函數(shù)</p><p>  leaguer_grade = l;</p><p><b>  }</b></p><p>  void display(); // 顯示函數(shù)</p><p>  vo

13、id setpay(double p); // 計(jì)算購(gòu)書金額</p><p><b>  };</b></p><p>  class honoured_guest : public buyer { // 貴賓類</p><p>  double discount_rate; // 折扣率</p><p><b&g

14、t;  public:</b></p><p>  honoured_guest(string n, int b, double r, string a, double p) : buyer(n, b, a, p) { // 構(gòu)造函數(shù)</p><p>  discount_rate = r;</p><p><b>  }</b>&

15、lt;/p><p>  void display(); // 顯示函數(shù)</p><p>  void setpay(double p); // 計(jì)算購(gòu)書金額</p><p><b>  };</b></p><p>  class layfolk : public buyer { // 普通人</p><

16、p><b>  public:</b></p><p>  layfolk(string n, int b, string a, double p) : buyer (n, b, a, p) {} // 構(gòu)造函數(shù)</p><p>  void display(); // 顯示函數(shù)</p><p>  void setpay(double

17、p); // 計(jì)算購(gòu)書金額</p><p><b>  };</b></p><p>  在類buyer的基礎(chǔ)上,增加buyers類,結(jié)合c++STL中的vector類完成購(gòu)書者的增刪補(bǔ)查操作.類buyers的定義如下:</p><p>  class Buyers</p><p><b>  {</b&

18、gt;</p><p><b>  public:</b></p><p>  /* ========== LIFECYCLE ==================== */</p><p>  Buyers ( ) /* constructor */</p><p>  /* ===

19、======= ACCESSORS ==================== */</p><p>  /* ========== MUTATORS ==================== */</p><p>  int showNum ( )/* ----- end of function getNum ----- */</p><

20、;p>  int list ( )/* ----- end of function list ----- */</p><p>  int addBuyer ( )/* ----- end of function addBuyer ----- */</p><p>  int delBuyer ( )/* ----- end of function

21、 delBuyer ----- */</p><p>  int save ( )/* ----- end of function save ----- */</p><p>  int buy ( BookShop bs)/* ----- end of function buy ----- */</p><p>  int command

22、( BookShop by )/* ----- end of function command ----- */</p><p>  /* ========== OPERATORS ==================== */</p><p>  /* ========== DATA MEMBERS ==================== */</p>

23、<p>  protected:</p><p><b>  private:</b></p><p>  vector<HonouredGuest> hg;</p><p>  vector<HonouredGuest>::iterator ihg;</p><p>  vector

24、<Layfolk> lf;</p><p>  vector<Layfolk>::iterator ilf;</p><p>  vector<Member> me;</p><p>  vector<Member>::iterator ime;</p><p>  }; /* ----- e

25、nd of class Buyers ----- */</p><p>  由于在計(jì)算購(gòu)書金額時(shí)要知道用戶買了哪些書以及書的原價(jià),所以必須建立一個(gè)類book,幫助完成對(duì)書的有關(guān)操作。類book的定義如下:</p><p>  class book {</p><p>  protected:</p><p>  string book_ID

26、; // 書號(hào)</p><p>  string book_name; // 書名</p><p>  string author; // 作者</p><p>  string publishing; // 出版社</p><p>  double price; // 定價(jià)</p><p><b>  pu

27、blic:</b></p><p>  book(); // 構(gòu)造函數(shù)</p><p>  book(string b_id, string b_n, string au, string pu, double pr); // 重載構(gòu)造函數(shù)</p><p>  void display(); // 顯示書籍信息</p><p>  

28、string getbook_ID(); // 取書號(hào)</p><p>  string getbook_name(); // 取書名</p><p>  string getauthor(); // 取作者</p><p>  string getpublishing(); // 取出版社</p><p>  double getprice

29、(); // 取價(jià)格</p><p><b>  };</b></p><p>  在類book的基礎(chǔ)上,增加bookshop類,結(jié)合c++STL中的vector類完成圖書的增刪補(bǔ)查操作.類bookshop的定義如下:</p><p>  class BookShop</p><p><b>  {</b

30、></p><p><b>  public:</b></p><p>  /* ========== LIFECYCLE ==================== */</p><p>  BookShop ( string na )/* constructor */</p><p>  /*

31、========== ACCESSORS ==================== */</p><p>  double getPrice( string id )/* ----- end of function delBook ----- */</p><p>  /* ========== MUTATORS ==================== */

32、</p><p>  int showNum ( )/* ----- end of function getNum ----- */</p><p>  int list ( )/* ----- end of function list ----- */</p><p>  int addBook ( )/* -----

33、 end of function addBook ----- */</p><p>  int delBook ( )/* ----- end of function delBook ----- */</p><p>  int save ( )/* ----- end of function save ----- */</p><

34、p>  int command ( )/* ----- end of function command ----- */</p><p>  /* ========== OPERATORS ==================== */</p><p>  /* ========== DATA MEMBERS ==================== *

35、/</p><p>  protected:</p><p><b>  private:</b></p><p>  vector<Book> bk;</p><p>  vector<Book>::iterator ibook;</p><p>  string nam

36、e;</p><p>  }; /* ----- end of class BookShop ----- */</p><p><b>  本設(shè)計(jì)的類圖如下:</b></p><p>  從 book 到 buyer 類的箭頭表示:book 對(duì)象要傳消息給 buyer 對(duì)象。</p><p>  箭頭表示booksh

37、op對(duì)象要傳消息給buyers對(duì)象</p><p><b>  核心控制設(shè)計(jì)</b></p><p>  在主函數(shù)中要做的操作包括:</p><p>  建立繼承了基類buyer的3個(gè)類對(duì)象。</p><p>  建立兩個(gè)book對(duì)象。</p><p>  請(qǐng)購(gòu)書人輸入其編號(hào)。</p>

38、<p>  通過編號(hào)查詢到相應(yīng)的對(duì)象。</p><p>  用對(duì)象的計(jì)算金額方法計(jì)算購(gòu)書金額。此時(shí),需要兩個(gè)book對(duì)象的定價(jià)作為消息傳遞給購(gòu)書人對(duì)象。</p><p><b>  用戶手冊(cè)</b></p><p><b>  見程序中提示。</b></p><p><b>

39、  編碼與調(diào)試</b></p><p>  經(jīng)過前幾個(gè)階段的工作,現(xiàn)在可以編碼實(shí)現(xiàn)程序了。</p><p>  程序中包括了三個(gè)文件:buy.h, book.h, buy_book.cpp。buy_book.cpp 中有main函數(shù)。</p><p>  完整程序以及相應(yīng)說明見附錄,運(yùn)行過程中的截圖如下:</p><p>  在實(shí)

40、際應(yīng)用中,也許并不需要將購(gòu)書人的相關(guān)信息顯示出來,在此,主要是為了更直觀地表示在程序中已經(jīng)建立的3個(gè)繼承了buyer類的對(duì)象,同時(shí)也可以調(diào)試這3個(gè)類的display函數(shù)。</p><p><b>  六、課程設(shè)計(jì)小結(jié)</b></p><p>  通過這次課程設(shè)計(jì),讓我更加深刻了解課本知識(shí),和以往對(duì)知識(shí)的疏忽得以補(bǔ)充,在設(shè)計(jì)過程中遇到一些函數(shù)和類的用法問題,但是經(jīng)過查閱

41、參考資料,都一一得以解決,我相信這本書中還有很多我未搞清楚的問題,但是這次的課程設(shè)計(jì)給我相當(dāng)?shù)幕A(chǔ)知識(shí),為我以后工作打下了嚴(yán)實(shí)的基礎(chǔ)。</p><p><b>  七、參考文獻(xiàn)</b></p><p><b>  無</b></p><p><b>  八、附錄</b></p><

42、p><b>  /*</b></p><p>  * ===========================================</p><p><b>  *</b></p><p>  * Filename: BOOK_H</p><p><b>  *

43、</b></p><p>  * Description: I dedicate all this code,all my work,to my wife. </p><p><b>  *</b></p><p>  * Version: 1.0</p><p>  *

44、 Created: 2015-06-18 20:17</p><p>  * Revision: none</p><p>  * Compiler: gcc</p><p><b>  *</b></p><p>  * Author: Anemone (An), x56

45、5178035@126.com</p><p>  * Company: None</p><p><b>  *</b></p><p>  * ===========================================</p><p><b>  */</b><

46、/p><p>  #ifndef BOOK_H</p><p>  #define BOOK_H</p><p><b>  /*</b></p><p>  * ===========================================</p><p>  * Class:

47、 Book</p><p>  * Description: The class of Book</p><p>  * ===========================================</p><p><b>  */</b></p><p>  class Book</p>

48、<p><b>  {</b></p><p><b>  public:</b></p><p>  /* ========== LIFECYCLE ==================== */</p><p><b>  Book ( )</b></p>&l

49、t;p><b>  {</b></p><p>  bookId="";</p><p>  bookName="";</p><p>  author="";</p><p>  publishing="";</p>&

50、lt;p><b>  price=0;</b></p><p>  } /* constructor */</p><p>  Book ( string bid,string bn,string au,string pu,double pr )</p><p><b>  {</b></

51、p><p>  bookId=bid;</p><p>  bookName=bn;</p><p>  author=au;</p><p>  publishing=pu;</p><p><b>  price=pr;</b></p><p>  }

52、 /* constructor */</p><p>  //Book ( const Book &other ); /* copy constructor */</p><p>  //~Book ( ); /* destructor */</p><p>  /* ========== A

53、CCESSORS ==================== */</p><p>  string getBookId() { return bookId; };/* get assessor of bookId */</p><p>  string getBookName() { return bookName; };/* get assessor of bookNam

54、e */</p><p>  string getAuthor() { return author; };/* get assessor of author */</p><p>  string getPublishing() { return publishing; };/* get assessor of publishing */</p><p> 

55、 double getPrice() { return price; };/* get assessor of price */</p><p>  /* ========== MUTATORS ==================== */</p><p>  int display ( )</p><p><b>  {</b&

56、gt;</p><p>  cout<<"Book ID:"<<bookId<<"\t";</p><p>  cout<<"Book Name:"<<bookName<<"\t";</p><p>  cout&l

57、t;<"Book Author:"<<author<<"\t";</p><p>  cout<<"Book Publishing:"<<publishing<<"\t";</p><p>  cout<<"Book Pri

58、ce:"<<price<<endl;</p><p><b>  return 0;</b></p><p>  }/* ----- end of function display ----- */</p><p>  friend class BookShop;</p><p>

59、;  /* ========== OPERATORS ==================== */</p><p>  //const Book& operator= ( const Book &other ); /* operator= */</p><p>  /* ========== DATA MEMBERS ====================

60、 */</p><p>  protected:</p><p>  string bookId;</p><p>  string bookName;</p><p>  string author;</p><p>  string publishing;</p><p>  double

61、price;</p><p><b>  private:</b></p><p>  }; /* ----- end of class Book ----- */</p><p><b>  /*</b></p><p>  * ================================

62、===========</p><p>  * Class: BookShop</p><p>  * Description: The class of BookShop</p><p>  * ===========================================</p><p><b>  

63、*/</b></p><p>  class BookShop</p><p><b>  {</b></p><p><b>  public:</b></p><p>  /* ========== LIFECYCLE ==================== */<

64、/p><p>  BookShop ( string na )</p><p><b>  {</b></p><p><b>  name=na;</b></p><p>  ifstream fin("bookshop.dat",ios::binary);</p>

65、<p><b>  if(fin)</b></p><p><b>  {</b></p><p>  while(!fin.eof())</p><p><b>  {</b></p><p><b>  Book btp;</b></p

66、><p>  fin.read((char *)&btp,sizeof(btp));</p><p>  bk.push_back(btp);</p><p><b>  }</b></p><p>  cout<<"Booklist load successful."<<

67、endl;</p><p>  fin.close();</p><p><b>  }</b></p><p>  } /* constructor */</p><p>  //BookShop ( const BookShop &other ); /* copy constru

68、ctor */</p><p>  //~BookShop ( ); /* destructor */</p><p>  /* ========== ACCESSORS ==================== */</p><p>  double getPrice( string id )<

69、;/p><p><b>  {</b></p><p>  for(ibook=bk.begin();ibook!=bk.end();++ibook)</p><p><b>  {</b></p><p>  if(id=(*ibook).bookId)</p><p><

70、;b>  {</b></p><p>  return (*ibook).price;</p><p><b>  }</b></p><p><b>  }</b></p><p>  return -1;</p><p>  }/* ----- e

71、nd of function delBook ----- */</p><p>  /* ========== MUTATORS ==================== */</p><p>  int showNum ( )</p><p><b>  {</b></p><p>  cout<

72、<"There are "<<bk.size()<<" books in bookshop."<<endl;</p><p><b>  return 0;</b></p><p>  }/* ----- end of function getNum ----- */</p

73、><p>  int list ( )</p><p><b>  {</b></p><p>  cout<<"Book infomation:"<<endl;</p><p>  for(ibook=bk.begin();ibook!=bk.end();++ibook)<

74、;/p><p><b>  {</b></p><p>  (*ibook).display();</p><p><b>  }</b></p><p><b>  return 0;</b></p><p>  }/* ----- end of f

75、unction list ----- */</p><p>  int addBook ( )</p><p><b>  {</b></p><p>  string au,id,na,pu;</p><p>  double pr;</p><p>  cout<<"

76、ID,Name,Author,Publishing,Price:"<<endl;</p><p>  cin>>id>>na>>au>>pu>>pr;</p><p>  for(ibook=bk.begin();ibook!=bk.end();++ibook)</p><p><

77、;b>  {</b></p><p>  if(id=(*ibook).bookId)</p><p><b>  {</b></p><p>  cout<<"Error:ID repeat."<<endl;</p><p><b>  retur

78、n 0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Book tbk(id,na,au,pu,pr);</p><p>  bk.push_back(tbk);</p><p>  cout<

79、<"Add successful."<<endl;</p><p><b>  return 0;</b></p><p>  }/* ----- end of function addBook ----- */</p><p>  int delBook ( )</p><p

80、><b>  {</b></p><p>  string id;</p><p>  cout<<"ID needs to delete:"<<endl;</p><p><b>  cin>>id;</b></p><p>  for

81、(ibook=bk.begin();ibook!=bk.end();++ibook)</p><p><b>  {</b></p><p>  if(id=(*ibook).bookId)</p><p><b>  {</b></p><p>  bk.erase(ibook);</p&g

82、t;<p>  cout<<id<<"ID deleted."<<endl;</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  }</b></p>

83、<p>  cout<<"Not found."<<endl;</p><p><b>  return 0;</b></p><p>  }/* ----- end of function delBook ----- */</p><p>  int save ( )<

84、/p><p><b>  {</b></p><p>  ofstream fout("bookshop.dat",ios::binary);</p><p>  for(ibook=bk.begin();ibook!=bk.end();++ibook)</p><p><b>  {</

85、b></p><p>  fout.write((char *)&(*ibook),sizeof(*ibook));</p><p><b>  }</b></p><p>  fout.close();</p><p>  cout<<"Save successful."&

86、lt;<endl;</p><p><b>  return 0;</b></p><p>  }/* ----- end of function save ----- */</p><p>  int command ( )</p><p><b>  {</b></p>

87、;<p>  int flag=1;</p><p><b>  char fun;</b></p><p>  while(flag)</p><p><b>  {</b></p><p>  cout<<"Bookshop command\t"&l

88、t;<"s:showNum,l:list,a:add,d:delete,w:write,q:quit"<<endl<<"BK>>";</p><p><b>  cin>>fun;</b></p><p>  switch ( fun )</p><p&g

89、t;<b>  {</b></p><p>  case 's':</p><p>  showNum();</p><p><b>  break;</b></p><p>  case 'l':</p><p><b>  l

90、ist();</b></p><p><b>  break;</b></p><p>  case 'a':</p><p>  addBook();</p><p><b>  break;</b></p><p>  case 'd

91、':</p><p>  delBook();</p><p><b>  break;</b></p><p>  case 'w':</p><p><b>  save();</b></p><p><b>  break;<

92、/b></p><p><b>  default:</b></p><p><b>  flag=0;</b></p><p>  cout<<"BookShop close."<<endl;</p><p><b>  break;&

93、lt;/b></p><p>  }/* ----- end switch ----- */</p><p><b>  }</b></p><p><b>  return 0;</b></p><p>  }/* ----- end of function command

94、 ----- */</p><p>  /* ========== OPERATORS ==================== */</p><p>  //const BookShop& operator= ( const BookShop &other ); /* operator= */</p><p>  /* ========

95、== DATA MEMBERS ==================== */</p><p>  protected:</p><p><b>  private:</b></p><p>  vector<Book> bk;</p><p>  vector<Book>::iterator

96、 ibook;</p><p>  string name;</p><p>  }; /* ----- end of class BookShop ----- */</p><p><b>  #endif</b></p><p><b>  /*</b></p><p&g

97、t;  * ===========================================</p><p><b>  *</b></p><p>  * Filename: BUY_H</p><p><b>  *</b></p><p>  * Descriptio

98、n: I dedicate all this code,all my work,to my wife. </p><p><b>  *</b></p><p>  * Version: 1.0</p><p>  * Created: 2015-06-18 19:22</p><p>

99、  * Revision: none</p><p>  * Compiler: gcc</p><p><b>  *</b></p><p>  * Author: Anemone (An), x565178035@126.com</p><p>  * C

100、ompany: None</p><p><b>  *</b></p><p>  * ===========================================</p><p><b>  */</b></p><p>  #ifndef BUY_H</p><

101、p>  #define BUY_H</p><p><b>  /*</b></p><p>  * ===========================================</p><p>  * Class: Buyer</p><p>  * Description: <

102、;/p><p>  * ===========================================</p><p><b>  */</b></p><p>  class Buyer</p><p><b>  {</b></p><p><b>  pu

103、blic:</b></p><p>  /* ========== LIFECYCLE ==================== */</p><p>  Buyer ( )</p><p><b>  {</b></p><p><b>  name="";<

104、/b></p><p>  buyerId=0;</p><p>  address="";</p><p><b>  pay=0;</b></p><p>  } /* constructor */</p><p>  Buyer ( strin

105、g n,int b,string a,double p )</p><p><b>  {</b></p><p><b>  name=n;</b></p><p>  buyerId=b;</p><p>  address=a;</p><p><b>  p

106、ay=p;</b></p><p>  } /* constructor */</p><p>  /* ========== ACCESSORS ==================== */</p><p>  double getPay() { return pay; };/* get assessor of p

107、ay */</p><p>  string getAddress() { return address; };/* get assessor of address */</p><p>  string getBuyName() { return name; };/* get assessor of name */</p><p>  int getId(

108、) { return buyerId; };/* get assessor of buyerId */</p><p>  /* ========== MUTATORS ==================== */</p><p>  virtual int display()=0;</p><p>  virtual int setPay(dou

109、ble=0)=0;</p><p>  /* ========== OPERATORS ==================== */</p><p>  /* ========== DATA MEMBERS ==================== */</p><p>  protected:</p><p>  strin

110、g name;</p><p>  int buyerId;</p><p>  string address;</p><p>  double pay;</p><p><b>  private:</b></p><p>  }; /* ----- end of class Buyer

111、----- */</p><p><b>  /*</b></p><p>  * ===========================================</p><p>  * Class: Member</p><p>  * Description: The class of M

112、ember</p><p>  * ===========================================</p><p><b>  */</b></p><p>  class Member:public Buyer</p><p><b>  {</b></p>

113、<p><b>  public:</b></p><p>  friend class Buyers;</p><p>  /* ========== LIFECYCLE ==================== */</p><p>  Member ( string n,int b,int l,string a,dou

114、ble p ):Buyer(n,b,a,p)</p><p><b>  {</b></p><p>  leaguerGrade=l;</p><p>  } /* constructor */</p><p>  Member ( ):Buyer()</p

115、><p><b>  {</b></p><p>  leaguerGrade=0;</p><p>  } /* constructor */</p><p>  //Member ( const Member &other ); /* copy co

116、nstructor */</p><p>  //~Member ( ); /* destructor */</p><p>  /* ========== ACCESSORS ==================== */</p><p>  /* ========== MUTATORS

117、 ==================== */</p><p>  int display ( )</p><p><b>  {</b></p><p>  cout<<"Buyer name:"<<name<<"\t";</p><p>

118、  cout<<"Buyer ID:"<<buyerId<<"\t";</p><p>  cout<<"Buyer's vip grade:"<<leaguerGrade<<"\t";</p><p>  cout<<

119、"Buyer address:"<<address<<endl;</p><p><b>  return 0;</b></p><p>  }/* ----- end of function display ----- */</p><p>  int setPay ( double p )

120、</p><p><b>  {</b></p><p>  switch ( leaguerGrade )</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  pay=0.95*p+pay;

121、</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  pay=0.90*p+pay;</p><p><b>  break;</b></p><p><b>  case

122、 3:</b></p><p>  pay=0.85*p+pay;</p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  pay=0.80*p+pay;</p><p><b>  

123、break;</b></p><p><b>  case 5:</b></p><p>  pay=0.70*p+pay;</p><p><b>  break;</b></p><p><b>  default:</b></p><p

124、>  cout<<"Grade error!"<<endl;</p><p><b>  break;</b></p><p>  }/* ----- end switch ----- */</p><p><b>  return 0;</b></p&g

125、t;<p>  }/* ----- end of function setPay ----- */</p><p>  /* ========== OPERATORS ==================== */</p><p>  //const Member& operator= ( const Member &other ); /*

126、operator= */</p><p>  /* ========== DATA MEMBERS ==================== */</p><p>  protected:</p><p><b>  private:</b></p><p>  int leaguerGrade;</p>

127、<p>  }; /* ----- end of class Member ----- */</p><p><b>  /*</b></p><p>  * ===========================================</p><p>  * Class: HonouredGuest

128、</p><p>  * Description: The class of HonouredGuest</p><p>  * ===========================================</p><p><b>  */</b></p><p>  class HonouredGuest

129、:public Buyer</p><p><b>  {</b></p><p><b>  public:</b></p><p>  friend class Buyers;</p><p>  /* ========== LIFECYCLE ====================

130、 */</p><p>  HonouredGuest ( string n,int b,double r,string a,double p ):Buyer(n,b,a,p)</p><p><b>  {</b></p><p>  discountRate=r;</p><p>  } /*

131、constructor */</p><p>  //HonouredGuest ( const HonouredGuest &other ); /* copy constructor */</p><p>  //~HonouredGuest ( ); /* destructor */</p><

132、p>  /* ========== ACCESSORS ==================== */</p><p>  /* ========== MUTATORS ==================== */</p><p>  int display ( )</p><p><b>  {</b><

133、/p><p>  cout<<"Buyer name:"<<name<<"\t";</p><p>  cout<<"Buyer ID:"<<buyerId<<"\t";</p><p>  cout<<&q

134、uot;Buyer is guset,and the discount rate is:"<<discountRate<<"\t";</p><p>  cout<<"Buyer address:"<<address<<endl;</p><p><b>  return

135、 0;</b></p><p>  }/* ----- end of function display ----- */</p><p>  int setPay ( double p )</p><p><b>  {</b></p><p>  pay=pay+(1-discountRate)*p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論