课程:面向对象程序设计。
学号: 082600xx
姓名: xxx
班级: xxx
教师: xxx
盐城师范学院。
信息科学与技术学院。
课程设计名称: 超市管理系统。
1.设计内容:
超市有三个货架,分别放着日常用品、食品和家电。设计一个用于管理商品的管理系统,能够按要求实现对各类商品的增加、**和查询操作。
2.设计目的与要求:
2.1设计目的。
1.达到熟练掌握c++语言的基本知识和技能;
2.基本掌握面向对象程序设计的基本思路和方法;
3.能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2.2设计要求。
1、实现描述超市的类supermarket,其中定义了增加商品的函数add(可以增加新的商品,也可以增加已有商品的数量),按照商品名称卖出商品的函数sale(如果商品现有数量少于卖出数量,则不能继续卖出商品,并给出提示信息),按照商品类别查询商品情况的函数search,并显示查询结果(每类商品中有哪些商品,每种商品的名称和现有数量)。
2、定义商品类goods,包含属性名称、和商品现有数量,以及纯虚函数showme。
3、从基类goods中派生日常用品类dailygoods、食品类food和家电类electricalappliance,其中食品类商品拥有保质期属性,家电类商品拥有颜色属性,具体实现上述纯虚函数showme,显示商品的名称、现有数量和食品类商品的保质期,以及家电类商品的颜色。
4、重载输入“>>操作符,使得可以通过cin直接读入上述日常用品类、食品类和家电类的对象值。
5、 编写main函数,测试上述所要求的各种功能,即可以根据菜单命令增加、卖出和查询各类商品,其中的商品可以是日常用品、食品和家用电器。
3.系统分析与设计。
3.1主要知识点。
在c++中,派生类继承了父类的基本属性,但我们可以对它进行重新定义与操作,通过定义对象的不同调用不同类中的同名函数而不引起冲突。合理利用文件的操作来读取与保存信息。
3.2关键技术。
程序中以总商品的goods类作为基础,派生出日常用品(dailygoods)、食品(food)与家电(electricalappliance)三个子商品类,用来存放不同类别的商品信息。每一个类都定义了相应的增加、**和查询函数,用来实现对各类商品的操作。另外定义了超市(supermarket)类,主要通过向主函数中返回数值来确定进行哪项具体操作。
具体定义如下所示:
1)类goods
商品类(goods
class goods
public:
goods( )
virtual void showme( )0;
char *getname( )定义指针,指向相应商品。
int getnum( )定义商品数量。
int gettype( )定义商品种类。
void addnum( int n );增加商品数量。
void decnum( int n );销售商品数量。
virtual ~goods( )
protected:
char *name;//定义指针,指向商品名。
int num;//商品数。
int type; /0 代表是日常用品类,1代表食品类,2代表家电类。
2)类dailygoods
日常用品类(dailygoods
class dailygoods:public goods
public:
dailygoods::dailygoods( )
void showme( )
friend istream &operator>>(istream &is,dailygoods &d );对dailygoods类重载运算符》,用于从文件中读取日常用品类的信息。
3)类food
食品类(food
class foods:public goods
private:
char *protectedtime; /保质期(天数)
public:
foods( )
void showme( )
friend istream &operator>>(istream &is,foods &f );对foods 类重载运算符》,用于从文件中读取日常用品类的信息。
4)类electricalappliance
家电类(electricalappliance
class electricalappliance:public goods
private:
char *color; /颜色属性。
public:
electricalappliance( )
void showme( )
friend istream &operator>>(istream &is,electricalappliance &ele );对electricalappliance类重载运算符》,用于从文件中读取日常用品类的信息。
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...