- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C面向对象程序设计超市管理系统课程设计
《面向对象程序设计》
课程设计报告
组别 第五组 组长 罗汉春 组成员 刘必浩 卢晓东 周振轰 成绩 XX 指导教师 李卫华
计算机科学系
2012年 12 月 27 日
计算机科学与技术学院
课程设计名称:超市商品管理系统
1.设计内容:
超市有三个货架,分别放着日常用品、食品和家电。设计一个用于管理商品的管理系统,能够按要求实现对各类商品的增加、出售和查询操作。
2.设计目的与要求:
2.1设计目的
达到熟练掌握C++语言的基本知识和技能;
基本掌握面向对象程序设计的基本思路和方法;
能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2.2设计要求
Supermarket,其中定义了增加商品的函数Add(可以增加新的商品,也可以增加已有商品的数量),按照商品名称卖出商品的函数Sale(如果商品现有数量少于卖出数量,则不能继续卖出商品,并给出提示信息),按照商品类别查询商品情况的函数Search,并显示查询结果(每类商品中有哪些商品,每种商品的名称和现有数量)。
2、定义商品类Goods,包含属性名称、和商品现有数量,以及纯虚函数ShowMe。
3、从基类Goods中派生日常用品类DailyGoods、食品类Food和家电类ElectricalAppliance,其中食品类商品拥有保质期属性,家电类商品拥有颜色属性,具体实现上述纯虚函数ShowMe,显示商品的名称、现有数量和食品类商品的保质期,以及家电类商品的颜色。
4、重载输入“”操作符,使得可以通过cin直接读入上述日常用品类、食品类和家电类的对象值。
5、 编写main函数,测试上述所要求的各种功能,即可以根据菜单命令增加、卖出和查询各类商品,其中的商品可以是日常用品、食品和家用电器。
3.编程环境与基础及任务安排:
3.1操作系统
Windows XP 或Windows 7
3.2编程软件
Visual Studio 2008或Visual C++6.0
3.3编程语言
标准C++语言
3.4任务安排
界面设计与操作(operator.h operator.cpp):刘必浩
主程序及主函数(main.cpp):卢晓东
实现商品的添加,出售,查询等功能(goods.h good.cpp):罗汉春
定义超市类,实现对商品的添加,出售,查询的调用(Super Market.h Supermarket.cpp):周振轰
3.5配备的辅助工具
①MSDN Library for Visual Studio 2008 简体中文
②DOS运行窗口(程序执行的窗口)
③Microsoft Word(凡可以打开.doc文档的程序均可,用于查看商品信息)
4.系统分析与设计:
4.1主要知识点
在C++中,派生类继承了父类的基本属性,但我们可以对它进行重新定义与操作,通过定义对象的不同调用不同类中的同名函数而不引起冲突。合理利用文件的操作来读取与保存信息。
4.2关键技术
程序中以总商品的Goods类作为基础,派生出日常用品(DailyGoods)、食品(Food)与家电(ElectricalAppliance)三个子商品类,用来存放不同类别的商品信息。每一个类都定义了相应的增加、出售和查询函数,用来实现对各类商品的操作。另外定义了超市(SuperMarket)类,主要通过向主函数中返回数值来确定进行哪项具体操作。具体定义如下所示:
类Goods
/***************商品类(Goods)***************/
class Goods
{
public:
virtual void AddGoods()=0;//增加商品
virtual void SaleGoods()=0;//出售商品
virtual void ShowMe()=0;//显示商品
void Sale();//统一定义商品出售函数功能模块
protected:
string name[100];//记录各种商品的名称
int number[100];//记录各种商品的数量
int count;//记录各类商品的各自商品种数
};
类DailyGoods
/***************日常用品类(DailyGoods)***************/
class DailyGoods:public Goods
{
public:
DailyGoods();
void AddGoods();
void SaleGoods();
friend istream operator(istream in,Da
文档评论(0)