1、 1 面向对象程序设计 课程设计报告 组别 组长 组成员 成绩 XX 指 导 教 师 计算机科学系计算机科学系 20122012 年年 12 12 月月 27 27 日日 2 计算机科学与技术学院计算机科学与技术学院 课程设计名称:超市商品管理系统课程设计名称:超市商品管理系统 1.1.设计内容:设计内容: 超市有三个货架,分别放着日常用品、食品和家电。设计一个用于管理商品 的管理系统,能够按要求实现对各类商品的增加、出售和查询操作。 2.2.设计目的与要求:设计目的与要求: 2.1 设计目的 1.达到熟练掌握 C+语言的基本知识和技能; 2.基本掌握面向对象程序设计的基本思路和方法; 3.能
2、够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2.2 设计要求 1、实现描述超市的类 Supermarket,其中定义了增加商品的函数 Add(可以 增加新的商品,也可以增加已有商品的数量),按照商品名称卖出商品的函数 Sale (如果商品现有数量少于卖出数量, 则不能继续卖出商品, 并给出提示信息) , 按照商品类别查询商品情况的函数 Search,并显示查询结果(每类商品中有哪些 商品,每种商品的名称和现有数量)。 2、定义商品类 Goods,包含属性名称、和商品现有数量,以及纯虚函数 ShowMe。 3、从基类 Goods 中派生日常用品类 DailyGoods、食品类
3、Food 和家电类 ElectricalAppliance, 其中食品类商品拥有保质期属性, 家电类商品拥有颜色属性, 具体实现上述纯虚函数 ShowMe,显示商品的名称、现有数量和食品类商品的保 质期,以及家电类商品的颜色。 4、重载输入“”操作符,使得可以通过 cin 直接读入上述日常用品类、食品 类和家电类的对象值。 5、 编写 main函数,测试上述所要求的各种功能,即可以根据菜单命令增 加、卖出和查询各类商品,其中的商品可以是日常用品、食品和家用电器。 3.3.编程环境与基础及任务安排:编程环境与基础及任务安排: 3.1 操作系统 Windows XP 或 Windows 7 3.2
4、 编程软件 Visual Studio 2008 或 Visual C+6.0 3 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 运行窗口(程序执行的窗口) Mic
5、rosoft Word(凡可以打开.doc 文档的程序均可,用于查看商品信息) 4.4.系统分析与设计:系统分析与设计: 4.1 主要知识点 在 C+中,派生类继承了父类的基本属性,但我们可以对它进行重新定义与 操作,通过定义对象的不同调用不同类中的同名函数而不引起冲突。合理利用文 件的操作来读取与保存信息。 4.2 关键技术 程序中以总商品的 Goods 类作为基础,派生出日常用品(DailyGoods)、食 品(Food)与家电(ElectricalAppliance)三个子商品类,用来存放不同类别的商 品信息。每一个类都定义了相应的增加、出售和查询函数,用来实现对各类商品 的操作。另外定
6、义了超市(SuperMarket)类,主要通过向主函数中返回数值来 确定进行哪项具体操作。具体定义如下所示: (1)类类 Goods /*商品类(商品类(Goods)*/ class Goods public: virtual void AddGoods()=0;/增加商品增加商品 virtual void SaleGoods()=0;/出售商品出售商品 virtual void ShowMe()=0;/显示商品显示商品 void Sale();/统一定义商品出售函数功能模块统一定义商品出售函数功能模块 protected: string name100;/记录各种商品的名称记录各种商品的名称 int number100;/记录各种商品的数量记录各种商品的数量 int count;/记录各类记录各类商品的各自商品种数商品的各自商品种数 ; 4 (2)类类 DailyGoods /*日常用品类(日常用品