实验设计二模拟网上购书的结账功能Word文档格式.docx

上传人:b****6 文档编号:22121225 上传时间:2023-02-02 格式:DOCX 页数:10 大小:62.45KB
下载 相关 举报
实验设计二模拟网上购书的结账功能Word文档格式.docx_第1页
第1页 / 共10页
实验设计二模拟网上购书的结账功能Word文档格式.docx_第2页
第2页 / 共10页
实验设计二模拟网上购书的结账功能Word文档格式.docx_第3页
第3页 / 共10页
实验设计二模拟网上购书的结账功能Word文档格式.docx_第4页
第4页 / 共10页
实验设计二模拟网上购书的结账功能Word文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验设计二模拟网上购书的结账功能Word文档格式.docx

《实验设计二模拟网上购书的结账功能Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验设计二模拟网上购书的结账功能Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

实验设计二模拟网上购书的结账功能Word文档格式.docx

用户首先输入会员号,然后,选择想要买的书籍放到购书筐中,选择结束后,用户要求系统结帐,系统便计算出费用通知用户。

注:

本例并不模拟网上购书的全部过程,所以把选择书的过程略去,假设用户已经选定了两本书。

3.课程设计要求:

(1)根据实际情况,确定购书人分为3类:

普通人、会员、贵宾。

①“普通人”的购书费用按照原价收取;

②“会员”购书费的计算方法是:

五星级会员按照原价的70%收取,四星级会员按照原价的80%收取,三星级会员按照原价的85%收取,二星级会员按照原价的90%收取,一星级会员按照原价的95%收取。

③“贵宾”的购书费根据特别指定的折扣率计算机收取的费用,例如折扣率40%,则按照实际书费的60%收取。

(2)对象(类)的设计

①根据

(1)分析,需要设计一个基类buyer和它的3各派生类member(会员)、layfolk(普通人)、honoured_guest(贵宾)。

基类中包括的数据成员是姓名、购书人编号、地址、购书金额。

member类中除了继承了buyer的数据,还增加了会员级别:

honoured_guest则增加了折扣率一项。

②在基类中定义了构造函数和对所有类型的购书人相同的操作,getbuyname()负责取出购书者的姓名;

getaddress()负责取出购书者的地址;

getpay()负责取出购书者应付出的金额;

getid()负责取出购书者的编号。

由于对不同购书者的购书额的计算方法不同,所以不能在基类中确定计算方法;

又由于各类购书者的数据内容不同,显示的方法也不一样.因此在基类中将setpay和display定义为虚函数。

4.实验条件:

(1)主要设备:

586或更高机型,256MB或更高的内存,40G或更大的硬盘。

(2)主要软件:

①操作系统可为Windows9X、WinMe、Win2000或更高版本等;

②开发环境为VC++6.0或者TC++3.0。

(3)参考书目:

①《C++面向对象程序设计》第10章面向对象设计方法与实例陈维兴等编著中国铁道出版社2004年6月第1版

②《C++面向对象程序设计》陈维兴等编著清华大学出版社2004年6月第1版

5.实验方法与步骤:

#include<

iostream>

string>

usingnamespacestd;

classbuyfolk;

classmember;

classhonoured_guest;

classbuyer

{

public:

buyer()

{

name="

Null"

;

addr="

number=0;

expense=0;

level=0;

}

voidgetid(intnum)

number=num;

if(number>

=0&

&

number<

=20)

{level=1;

}

elseif(number>

21&

=40)

{level=2;

41&

=60)

{level=3;

61&

=80)

{level=4;

81&

=100)

{level=5;

=200&

=300)

{}

=1000&

=2000)

else

cout<

<

"

Errormunberpleaseregister"

endl;

voidgetbuyname()

cout<

Pleaseinputyourname:

"

cin>

>

name;

voidgetaddress()

Pleaseinputyouraddress:

addr;

virtualvoidsetpay()

getbuyname();

getaddress();

Pleaseinputyourexpense:

expense;

virtualvoiddisplay()

Name:

name<

endl<

Address:

addr<

Number:

Expense:

expense<

protected:

stringname;

stringaddr;

intnumber;

intlevel;

doubleexpense;

};

classbuyfolk:

publicbuyer

--Welcomelayfolk--"

buyer:

:

display();

setpay();

classmember:

member()

if(level==1)

expense=expense*0.95;

if(level==2)

expense*=0.90;

if(level==3)

expense*=0.85;

if(level==4)

expense*=0.80;

if(level==5)

expense*=0.70;

--Welcomemumbership--"

Level:

level<

private:

classhonoured_guest:

honoured_guest()

discount=0;

Pleaseinputyourdiscount:

discount;

expense*=(1-discount);

--Welcomeguest--"

Discount:

discount<

doublediscount;

intmain()

buyfolkb[10];

memberm[10];

honoured_guesth[10];

inti=0,flag=1,j=0,z=0;

while(flag)

{

--Welcometoourbookstore--"

Ifyourwangtoexit,pleaseinput9999"

Pleaseinputyournumber:

number;

{

m[i].getid(number);

m[i].setpay();

m[i].display();

i++;

}

{

h[j].getid(number);

h[j].setpay();

h[j].display();

j++;

b[z].getid(number);

b[z].setpay();

b[z].display();

z++;

elseif(number==9999)

flag=0;

--Welcomeagain--"

return0;

6.实验总结:

通过这次实验通过我掌握了面向对象程序设计软件开发方法,即通过将软件开发过程划分为明显的几个阶段:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1