版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)-- c++面向?qū)ο蟪绦蛟O(shè)計(jì)
- 實(shí)驗(yàn)設(shè)計(jì)二模擬網(wǎng)上購(gòu)書的結(jié)賬功能
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試題打印
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告---學(xué)籍管理系統(tǒng)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)與c++
- 面向?qū)ο蟪绦蛟O(shè)計(jì)題庫(kù)(c++)
- 《c++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)——職工信息管理系統(tǒng)
- c++課程設(shè)計(jì)--c++程序設(shè)計(jì)語(yǔ)言
- 【課程設(shè)計(jì)】面向?qū)ο蟪绦蛟O(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- c++程序設(shè)計(jì)教程
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)第5版
- c++面向?qū)ο笳n程設(shè)計(jì)報(bào)告
- 《面向?qū)ο蟮某绦蛟O(shè)計(jì)》課程設(shè)計(jì)
- c++程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)c++課后題答案
評(píng)論
0/150
提交評(píng)論