收藏 分销(赏)

实验设计二(模拟网上购书的结账功能).doc

上传人:w****g 文档编号:2646759 上传时间:2024-06-03 格式:DOC 页数:13 大小:154.54KB
下载 相关 举报
实验设计二(模拟网上购书的结账功能).doc_第1页
第1页 / 共13页
实验设计二(模拟网上购书的结账功能).doc_第2页
第2页 / 共13页
实验设计二(模拟网上购书的结账功能).doc_第3页
第3页 / 共13页
实验设计二(模拟网上购书的结账功能).doc_第4页
第4页 / 共13页
实验设计二(模拟网上购书的结账功能).doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、实验设计二(模拟网上购书的结账功能) 作者: 日期:2 个人收集整理 勿做商业用途北京信息科技大学实验设计报告课程名称 面向对象程序设计实验设计题 目 模拟网上购书的结帐功能 指导教师 李 春 强 设计起止日期 设计地点 系 别 信息安全 专 业 _信安1102_学生姓名 _王鑫_班级/学号 _信安1102 _2011012245_ 成 绩 _1. 课程设计目的:通过本实验使学生利用面向对象程序设计软件开发方法,即软件开发过程划分为明显的几个阶段:问题分析和功能定义、对象设计及实现、核心控制设计、编码与测试、进化等实现模拟网上购书的结帐功能方面的应用。2. 课程设计内容:用户在网上购书以后,系

2、统根据购书人的不同类型计算出购书人的费用。网上购书的一般过程:用户首先输入会员号,然后,选择想要买的书籍放到购书筐中,选择结束后,用户要求系统结帐,系统便计算出费用通知用户。注:本例并不模拟网上购书的全部过程,所以把选择书的过程略去,假设用户已经选定了两本书。3. 课程设计要求:(1)根据实际情况,确定购书人分为3类:普通人、会员、贵宾。“普通人的购书费用按照原价收取;“会员购书费的计算方法是:五星级会员按照原价的70%收取, 四星级会员按照原价的80收取, 三星级会员按照原价的85收取, 二星级会员按照原价的90%收取, 一星级会员按照原价的95收取。“贵宾”的购书费根据特别指定的折扣率计算

3、机收取的费用,例如折扣率40,则按照实际书费的60收取。(2)对象(类)的设计根据(1)分析,需要设计一个基类buyer和它的3各派生类member(会员) 、layfolk(普通人) 、honoured_guest(贵宾)。基类中包括的数据成员是姓名、购书人编号、地址、购书金额。member类中除了继承了buyer的数据,还增加了会员级别:honoured_guest则增加了折扣率一项。在基类中定义了构造函数和对所有类型的购书人相同的操作,getbuyname()负责取出购书者的姓名;getaddress()负责取出购书者的地址;getpay()负责取出购书者应付出的金额;getid()负责

4、取出购书者的编号。由于对不同购书者的购书额的计算方法不同,所以不能在基类中确定计算方法;又由于各类购书者的数据内容不同,显示的方法也不一样。因此在基类中将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

5、年6月第1版5. 实验方法与步骤:#includeiostreamincludestringusing namespace std;class buyerpublic:buyer ( string n,string a,int s,int m) name=n; address=a; salary=s; num=m;/getbuyname()负责取出购书者的姓名;getaddress()负责取出购书者的地址;getpay()负责取出购书者应付出的金额;getid()void getbuyname() cout购书人的姓名是:nameendl;void getaddress() cout购书人的地

6、址是:addressendl;void getpay()cout”购书者应付的金额:salaryendl;void getid()cout购书者的编号:numendl;int exploy() return num;virtual void display()=0;virtual void setpay()=0;private:protected:string name;/姓名int num;/购书人编号string address;/地址int salary;/购书金额;class member:public buyer/会员public:member(string n,string a,i

7、nt s,int m,int l):buyer(n,a,s,m)level=l;virtual void setpay() cout欢迎您的光临,memberendl; getbuyname();getaddress();getid();getpay();cout”确定你要买的书么? N/Y”c;if(c=y)if(level=1)salary=salary0.95;if(level=2)salary=0.90;if(level=3)salary*=0.85;if(level=4)salary=0。80;if(level=5)salary=0.70;display();else cout”已经

8、取消交易endl;virtual void display()cout”您已经支付”salary”元” 谢谢您的惠顾,再见endl;private:protected:int level;/级别;class honoured_guest:public buyer/public:honoured_guest(string n,string a,int s,int m,float f):buyer(n,a,s,m)discount=f;virtual void setpay() cout”欢迎您的光临 honoured_guest-endl; getbuyname();getaddress();g

9、etid();getpay();cout”确定你要买的书么? N/Yc;if(c=y)salary=discount*salary;display();else cout”已经取消交易”endl;virtual void display() cout”您已经支付salary元” 谢谢您的惠顾,再见endl;private:protected:float discount;/折扣率;class layfolk:public buyer/路人public:layfolk(string n,string a,int s,int m):buyer(n,a,s,m)virtual void setpay

10、() cout”-欢迎您的光临 layfolkt-”endl; getbuyname();getaddress();getid();getpay();cout”确定你要买的书么? N/Y”endl;char c;cinc;if(c=y)display();else cout”已经取消交易endl;virtual void display()cout”您已经支付salary”元” 谢谢您的惠顾,再见endl;private:protected:;int main()int h;int flag=0;int i1;string n=wangx”,w=”wangxin”,wy=wangxingyu;

11、string b=”beijing”,c=”chongqing”,t=”tianjin;/事先初始化六个数据layfolk a3=layfolk(n,b,1000,10),layfolk(w,c,1000,11),layfolk(wy,t,1000,12); member m3=member(n,b,1000,1,4),member(w,c,1000,2,3),member(wy,t,1000,3,2); honoured_guest g3= honoured_guest(n,b,1000,1,0。4), honoured_guest(n,b,1000,1,0.4), honoured_gue

12、st(n,b,1000,1,0.4); while (true) cout欢迎来到书店订购系统-”endl; cout”按任意键进入订购界面,如果您想要退出请按qh;for(int i=0;i3;i+)if(h=ai。exploy())flag=1;i1=i;break;for(int i=0;i3;i+)if(h=mi.exploy())flag=2;i1=i;break;for(int i=0;i3;i+)if(h=gi。exploy()flag=3;i1=i;break; if(flag=0)cout查无此编号,请确定以后再输入”endl;else if(flag=1)ai1.setpa

13、y();else if(flag=2)mi1。setpay();else if (flag=3)gi1。setpay(); 6. 实验总结:通过本实验我学会了利用面向对象程序设计软件开发方法,即软件开发过程划分为明显的几个阶段:问题分析和功能定义、对象设计及实现、核心控制设计、编码与测试、进化等实现模拟网上购书的结帐功能方面的应用。大体的课设的过程是如下:用户在网上购书以后,系统根据购书人的不同类型计算出购书人的费用。网上购书的一般过程:用户首先输入会员号,然后,选择想要买的书籍放到购书筐中,选择结束后,用户要求系统结帐,系统便计算出费用通知用户.附录:说明:1. 实验过程由学生记录实验的过程,包括画出流程图、操作过程、遇到哪些问题以及如何解决等;2. 实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;3. 源程序(带注释)、代码、具体语句等,若表格空间不足时可作为附录另外附页。4. 程序测试后,将多组测试结果附在程序后;5. 提交报告时请将说明部分去掉。 13

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服