- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
— PAGE 10 —
.. ..
北京信息科技大学
实验设计报告
课程名称 面向对象程序设计实验设计
题 目 模拟网上购书的结帐功能
指导教师 李 春 强
设计起止日期
设计地点
系 别 信息管理学院
专 业 ____信息安全__ __
学生姓名 ____郭瑞________
班级/学号 __ 信安0901/2009012225_
成 绩 ___________________
课程设计目的:
通过本实验使学生利用面向对象程序设计软件开发方法,即软件开发过程划分为明显的几个阶段:问题分析和功能定义、对象设计及实现、核心控制设计、编码与测试、进化等实现模拟网上购书的结帐功能方面的应用。
课程设计内容:
用户在网上购书以后,系统根据购书人的不同类型计算出购书人的费用。
网上购书的一般过程:用户首先输入会员号,然后,选择想要买的书籍放到购书筐中,选择结束后,用户要求系统结帐,系统便计算出费用通知用户。
注:本例并不模拟网上购书的全部过程,所以把选择书的过程略去,假设用户已经选定了两本书。
课程设计要求:
(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定义为虚函数。
实验条件:
(1)主要设备: 586或更高机型,256MB或更高的内存,40G或更大的硬盘。
(2)主要软件:
①操作系统可为Windows9X、WinMe、Win2000或更高版本等;
②开发环境为VC++6.0或者TC++3.0。
(3)参考书目:
①《C++面向对象程序设计》第10章 面向对象设计方法与实例 陈维兴等编著 中国铁道出版社 2004年6月第1版
②《C++面向对象程序设计》 陈维兴等编著 清华大学出版社 2004年6月第1版
实验方法与步骤:
1首先确定基类成员函数,需要定义两个虚函数setpay和display作为重载。
2定义其派生类,member,layfolk,honoured_guest ,完成初始化构造。并且分别定义其私有成员计算对应的会员等级或3者折扣率,然后重新定义虚函数setpay和display
4定义book类返回书的编号和价格。
5 定义主函数,通过基类指针调用派生类或者自身类对象成员函数的方式实现功能。
具体实现代码如下:
#includeiostream
#includestring
using namespace std;
class buyer//基类
{
protected:
string name;//姓名
int buyerid;//购书人编号
string address;//地址
double pay;//购书金额
public:
buyer();
buyer(string n,int b,string a,double p);
string getbuyname();//取姓名
string getaddress();//取地址
double getpay(); //取应付金额
int getid();//取购书人编号
virtual void display()=0;//显示对象
virtual void setpay(double
您可能关注的文档
- 6S目视化管理标准.doc
- 08_12年电气控制技术历年试题与答案27979.doc
- 10_7保定钟家营小区GPON光纤接入网规划设计最终版.doc
- 10kV工程交叉跨越、钻越66kV和以上电压等级线路工程施工组织设计方案.doc
- 18春西南大学课程名称【编号[0405]《教育学》网上大作业.doc
- 30KW光伏电站设计方案A版.doc
- 500kV、220kV断路器失灵保护和远方跳闸.ppt
- 2002_2006年普通高考理科分数段对比表.doc
- 2012.8.6李河退水闸开挖工程施工组织设计方案.doc
- 2013年电力公司“反违章”活动方案.doc
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
文档评论(0)