面向对象的课程设计-超市商品管理系统.doc_第1页
面向对象的课程设计-超市商品管理系统.doc_第2页
面向对象的课程设计-超市商品管理系统.doc_第3页
面向对象的课程设计-超市商品管理系统.doc_第4页
面向对象的课程设计-超市商品管理系统.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告 计算机科学与技术学院课程设计名称:超市商品管理系统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操作系统Windows XP 或Windows 73.2编程软件Visual Studio 2008或Visual C+6.03.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)类,主要通过向主函数中返回数值来确定进行哪项具体操作。具体定义如下所示:(1) 类Goods/*商品类(Goods)*/class Goodspublic:virtual void AddGoods()=0;/增加商品virtual void SaleGoods()=0;/出售商品virtual void ShowMe()=0;/显示商品void Sale();/统一定义商品出售函数功能模块protected:string name100;/记录各种商品的名称int number100;/记录各种商品的数量int count;/记录各类商品的各自商品种数;(2) 类DailyGoods/*日常用品类(DailyGoods)*/class DailyGoods:public Goodspublic:DailyGoods();void AddGoods();void SaleGoods();friend istream &operator(istream &in,DailyGoods &d);/对DailyGoods类重载运算符,用于从文件中读取日常用品类的信息,暂未使用,有待修改void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_DailyGoods);/用于将商品信息单独保存到文件中;(3) 类Food/*食品类(Food)*/class Food:public Goodspublic:Food();void AddGoods();void SaleGoods();/friend istream &operator(istream&in,Food&f);void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_Food);/用于将商品信息单独保存到文件中private:int SaveTime100;/保质期(天数);(4) 类ElectricalAppliance/*家电类(ElectricalAppliance)*/class ElectricalAppliance:public Goodspublic:ElectricalAppliance();void AddGoods();void SaleGoods();/friend istream &operator(istream&in,ElectricalAppliance&e);void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_ElectricalAppliance);/用于将商品信息单独保存到文件中private:string color100;/颜色属性;(5) 类SuperMarketclass SuperMarket/用于描述货物操作的超市类public:int Add();/增加商品的函数int Sale();/按照商品名称卖出商品的函数int Search();/按照商品类别查询商品情况的函数;4.3系统特色功能4.3.1使用密码登陆登陆超市商品管理系统时,需要输入密码,若输入正确,则进入本管理系统;若输入错误,则返回密码输入界面,或退出本管理系统。4.3.2特色的界面代码: void fengmian()/进入界面 coutendlendlendlendl;cout 超 市 商 品 管 理 系 统 endl;cout endl;cout 本 组 人 员 : endl;cout 组长:罗汉春 endl;cout 组员:卢晓东 endl;cout 刘必浩 endl;cout 周振轰 endl;cout endl;cout 按 “enter”键继续 endl; void Loading()/登陆系统时的界面system(cls);coutendlendl;coutt endl;coutt endl;coutt endl;coutt endl;coutt 欢迎进入超市商品管理系统 endl;coutt endl;coutt endl;coutt endl;coutendl;coutendl;void Get_In()/登陆成功后的功能显示system(cls);/用于清屏coutendl 超 市 商 品 管 理 系 统 endlendl;coutendlttt endl;cout ttt 登录成功 endl;cout ttt endl;coutendlendlttt 进入系统endl;coutendlendlttt 修改密码endl;coutendlendlttt 退出系统endl;void Menu()/实现商品操作的列表coutendl 超 市 商 品 管 理 系 统 endlendl;coutttt endlendl;coutttt 增加商品endl;coutttt 出售商品endl;coutttt 查询商品endl;coutttt 返回上一级endlendl;coutttt endlendl;coutttt您要进行的操作是?;void List()/商品类别列表coutendl 超 市 商 品 管 理 系 统 endlendl;coutttendl;coutttt 日常用品类endl;coutttt 食品类endl;coutttt 家电类endl;coutttendlendl;void End()/退出时的结束画面system(cls);coutendlendl;coutt endl;coutt endl;coutt endl;coutt endl;coutt 欢迎使用超市商品管理系统 endl;coutt endl;coutt endl;coutt endl; coutendlendlendlendlendl;void Error()/打开文件错误时的屏幕显示cerrendlendlendlttendl;cerr tt endl;cerr tt 打开文件错误! endl;cerr tt endl;cerr ttendlendlendlendl;4.3.3特色的功能代码(1)修改密码功能while(flag)coutendlPassWord0;coutendlPassWord1;if(PassWord0=PassWord1)system(cls);coutendl 超 市 商 品 管 理 系 统 endlendl;coutendltttendl;cout ttt 密码修改成功! endl;cout tttendlendl;password=PassWord0;coutendl=endl;coutendlttt 【1】重新登陆endlendlttt 【2】退出系统endl;coutendlp;system(cls);if(p=1) goto Load;/前往“Load:”语句else flag=0;elsesystem(cls);coutendlendl=endl;couttt您两次输入的密码不一致,请重新输入!endlendl;cout=endl;(2)添加商品功能void DailyGoods:AddGoods()/增加日常用品system(cls);int flag=1;ShowMe();coutendl请输入要增加日常用品的信息endlendl;coutnamecount;coutnumbercount;for(int i=0;icount;i+)if(namei=namecount)/判断该物品是否已经存在numberi+=numbercount;flag=0;if(flag) count+;/用于新增物品coutendlendltt*endl;couttt O(_)O 添加商品成功!O(_)Oendl;couttt*endl;void Food:AddGoods()/增加食品system(cls);int flag=1;ShowMe();coutendl请输入要增加的食品的信息endlendl;coutnamecount;for(int i=0;icount;i+)if(namei=namecount)/判断该物品是否已经存在coutnumbercount;numberi+=numbercount;flag=0;if(flag)coutnumbercount;coutSaveTimecount;count+;/用于新增物品coutendlendltt*endl;couttt O(_)O 添加商品成功!O(_)Oendl;couttt*endl;void ElectricalAppliance:AddGoods()/增加家电system(cls);int flag=1;ShowMe();coutendl请输入要增加的家电的信息endlendl;coutnamecount;for(int i=0;icount;i+)if(namei=namecount)/判断该物品是否已经存在coutnumbercount;numberi+=numbercount;flag=0;if(flag)coutnumbercount;coutcolorcount;count+;/用于新增物品coutendlendltt*endl;couttt O(_)O 添加商品成功!O(_)Oendl;couttt*endl;(3)出售商品功能void DailyGoods:SaleGoods() /售出日常用品system(cls);ShowMe();coutendl请输入要出售的日常用品信息endlendl;Sale();/调用基类Goods里的Sale()函数void Food:SaleGoods() /售出食品system(cls);ShowMe();coutendl请输入要出售的食品信息endlendl;Sale();/调用基类Goods里的Sale()函数void ElectricalAppliance:SaleGoods() /售出家电system(cls);ShowMe();coutendl请输入要出售的家电信息endlendl;Sale();/调用基类Goods里的Sale()函数(4)显示商品信息功能void DailyGoods:ShowMe() /显示日常用品coutendl *_*超市商品管理系统【日常用品区】*_* endlendl;coutendl现有日常用品类商品库存:endlendl;for(int i=0;icount;i+) cout 【i+1】日常用品名称:setiosflags(ios:left)setw(15)namei;cout现存数量:numberi个endl;cout -endl;void Food:ShowMe() /显示食品coutendl *_*超市商品管理系统*_*【食品区】 endlendl;coutendl现有食品类商品库存:endlendl;for(int i=0;icount;i+)cout 【i+1】食品名称:setiosflags(ios:left)setw(15)namei;cout现存数量:setw(4)numberisetw(8)千克;cout保质期:setw(3)SaveTimei天endl;cout -endl;void ElectricalAppliance:ShowMe() /显示家电coutendl *_*超市商品管理系统*_*【家电区】 endlendl;coutendl现有家电类商品库存:endlendl;for(int i=0;icount;i+)cout 【i+1】家电名称:setiosflags(ios:left)setw(15)namei;cout现存数量:numberisetw(6)台;cout颜色:coloriendl;cout -endl;4.4系统总体设计(确定程序功能模块)本程序的功能结构如下图所示:超市商品管理系统进入系统修改密码出售商品增加商品查询商品密码修改失败密码修改成功日常用品食品家电日常用品食品家电日常用品食品家电程序功能结构图5.源程序代码: /共(3个头文件,4个源文件)/SuperMarket.h头文件#pragma once#include#includeusing namespace std;class SuperMarket/用于描述货物操作的超市类public:int Add();/增加商品的函数int Sale();/按照商品名称卖出商品的函数int Search();/按照商品类别查询商品情况的函数;/operator.h头文件#pragma once#includeusing namespace std;/*空函数为了将主函数中不重要的部分在外部实现减少程序中的多处代码的重复*/void fengmian();/进入界面void Loading();/登陆系统时的界面void Get_In();/登陆成功后的功能显示void Menu();/实现商品操作的列表void List();/商品类别列表void End();/退出时的结束画面void Error();/打开文件错误时的屏幕显示/Goods.h头文件#pragma once#include#include#includeusing namespace std;/*商品类(Goods)*/class Goodspublic:virtual void AddGoods()=0;/增加商品virtual void SaleGoods()=0;/出售商品virtual void ShowMe()=0;/显示商品void Sale();/统一定义商品出售函数功能模块protected:string name100;/记录各种商品的名称int number100;/记录各种商品的数量int count;/记录各类商品的各自商品种数;/*日常用品类(DailyGoods)*/class DailyGoods:public Goodspublic:DailyGoods();void AddGoods();void SaleGoods();friend istream &operator(istream &in,DailyGoods &d);/对DailyGoods类重载运算符,用于从文件中读取日常用品类的信息,暂未使用,有待修改void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_DailyGoods);/用于将商品信息单独保存到文件中;/*食品类(Food)*/class Food:public Goodspublic:Food();void AddGoods();void SaleGoods();/friend istream &operator(istream&in,Food&f);void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_Food);/用于将商品信息单独保存到文件中private:int SaveTime100;/保质期(天数);/*家电类(ElectricalAppliance)*/class ElectricalAppliance:public Goodspublic:ElectricalAppliance();void AddGoods();void SaleGoods();/friend istream &operator(istream&in,ElectricalAppliance&e);void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_ElectricalAppliance);/用于将商品信息单独保存到文件中private:string color100;/颜色属性;/SuperMarket.cpp文件#pragma once#includeGoods.h#includeSuperMarket.h#includeoperator.husing namespace std;/*增加商品的函数*/int SuperMarket:Add()int select;system(cls);List();/调用List()函数语言coutselect;return select;/*按照商品名称卖出商品的函数*/int SuperMarket:Sale()int select;system(cls);List();/调用List()函数语言coutselect;return select;/*按照商品类别查询商品情况的函数*/int SuperMarket:Search()int select;system(cls);List();/调用List()函数语言coutselect;system(cls);return select;/operator.cpp文件#pragma once#includeGoods.h#includeoperator.husing namespace std;void fengmian()/进入界面 coutendlendlendlendl;cout 超 市 商 品 管 理 系 统 endl;cout endl;cout 本 组 人 员 : endl;cout 组长:罗汉春 endl;cout 组员:卢晓东 endl;cout 刘必浩 endl;cout 周振轰 endl;cout endl;cout 按 “enter”键继续 endl; void Loading()/登陆系统时的界面system(cls);coutendlendl;coutt endl;coutt endl;coutt endl;coutt endl;coutt 欢迎进入超市商品管理系统 endl;coutt endl;coutt endl;coutt endl;coutendl;coutendl;void Get_In()/登陆成功后的功能显示system(cls);/用于清屏coutendl 超 市 商 品 管 理 系 统 endlendl;coutendlttt endl;cout ttt 登录成功 endl;cout ttt endl;coutendlendlttt 进入系统endl;coutendlendlttt 修改密码endl;coutendlendlttt 退出系统endl;void Menu()/实现商品操作的列表coutendl 超 市 商 品 管 理 系 统 endlendl;coutttt endlendl;coutttt 增加商品endl;coutttt 出售商品endl;coutttt 查询商品endl;coutttt 返回上一级endlendl;coutttt endlendl;coutttt您要进行的操作是?;void List()/商品类别列表couten

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论