C++课程设计 小型超市管理系统Word下载.docx
- 文档编号:20201733
- 上传时间:2023-01-18
- 格式:DOCX
- 页数:40
- 大小:213.03KB
C++课程设计 小型超市管理系统Word下载.docx
《C++课程设计 小型超市管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计 小型超市管理系统Word下载.docx(40页珍藏版)》请在冰豆网上搜索。
写课程设计报告。
三、主要参考文献:
1c+语言程序设计(第四版)郑莉董渊何江舟编著指导教师签字:
年月日摘要11概述22设计方案简述32.1设计内容32.2设计目的与要求32.3系统分析与设计33详细设计123.1系统总体设计123.2源程序代码134运行结果285设计体会32摘要当代社会中伴随着计算机技术在各行各业日益广泛和深入的应用,超市对货品于职员的管理不在像过去一样靠手工去做,在一些超市管理中也开始信息化。
信息化的管理可以为超市节省大量人力物力,提高其运行效率,从而为顾客提供更好的服务,实现超市的业务提升。
本系统就是为了适应这种要求而设计的。
集信息的显示、输入、修改、删除、查询等各种处理为一体,信息维护起来非常方便。
大大减少了超市的人力和物力。
本系统大致要做到以下几点:
(1)操作简便,节省大量人力;
(2)可以方便的进行货品管理,安全、高效;
(3)可以迅速计算销售额和所买卖货品;
(4)可以迅速查到所需信息,便于管理1概述1.1任务:
超市管理系统对职员商品信息进行高效简洁的管理,使之能正常高效的进行售卖活动。
系统充分考虑到超市管理系统对货物资料进行登记并处理。
考虑到进货、退货、库存预警、年月日销售额结算等多种特殊情况,同时可将相关资料进行有效处理。
1.2目标:
当代社会中伴随着计算机技术在各行各业日益广泛和深入的应用,超市对货品于职员的管理不在像过去一样靠手工去做,在一些超市管理中也开始信息化。
(4)可以迅速查到所需信息,便于管理。
2.设计方案简述2.1设计内容设计一个简单的超市管理系统。
2.2设计目的与要求2.2.1设计目的达到熟练掌握C+语言的基本知识和技能;
基本掌握面向对象程序设计的基本思路和方法;
能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2.2.2设计要求要求利用面向对象的方法以及C+的编程思想来完成系统的设计;
2.3系统分析与设计2.3.1主要知识点1)类,类内包含构造函数、成员函数、私有数据成员和某些输入输出函数;
2)运算符重载,定义一个重载运算符的函数,在需要执行被重载的运算符是,系统自动调用该函数;
3)继承与派生:
1.基类即父类,被继承的已有类;
2.派生类即子类,新建立的类;
3.这些类的定义和声明同类;
4.虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。
2.3.2关键技术1)程序共有四个头文件和四个源文件。
头文件Supermarket,包含增加Add,出售Sale和查询Search三个公有成员函数;
源文件Supermarket,增加函数,出售函数和查询函数的功能相似,选择功能,输出商品类型列表。
头文件Goods,在这个头文件中有四个类,一个基类和三个派生类。
基类Goods中设置增加AddGoods,出售SaleGoods,显示函数virtualShowMe。
同时定义统一的出售函数Sale。
保护成员包括,商品名称name,商品数量number和商品分类的数量count。
派生类,日常用品类DailyGoods,食物Food和家电ElectricalAppliance,除了自身的无参构造函数,均从基类中继承增加AddGoods,出售SaleGoods,显示函数virtualShowMe,并根据课题要求加入运算符重载函数istreamoperator(istream&
in,DailyGoods&
d)。
同时借助函数Input_file和函数Save_file将商品信息输出并保存到文件中。
源文件Goods,实现各函数功能。
头文件diaplay,保存了小系统的基本页面和选择页面。
登录界面Loading,功能选择界面SelectMenu,商品功能列表GoodList和结束页面End。
源文件display,进行头文件的各项函数的功能实现。
头文件file,是关于文件的存储,打开和关闭的功能。
源文件main,实现功能的汇总和实现方式。
2)部分函数的实现/Supermaket*Add函数intSupermarket:
Add()intGood_num;
system(cls);
GoodList();
/调用GoodList()函数语言coutGood_num;
returnGood_num;
*Sale函数intSupermarket:
Sale()intGood_num;
*Search函数intSupermarket:
Search()intGood_num;
/Goods*Sale函数voidGoods:
Sale()/统一定义商品出售函数功能模块intflag=0;
stringgoods_name;
intgoods_number;
coutgoods_name;
coutgoods_number;
for(inti=0;
icount;
i+)/count在Goods.h中定义的保护成员if(namei=goods_name)if(numberigoods_number)flag=1;
coutendlttendl;
coutttt!
货存不足!
endl;
elseflag=1;
numberi-=goods_number;
出售成功!
if(flag=0)getchar();
coutttt没有该物品!
getchar();
*AddGoods函数voidDailyGoods:
AddGoods()/增加日常用品system(cls);
intflag=1;
ShowMe();
coutendl请输入要增加日常用品的信息endlendl;
coutnamecount;
coutnumbercount;
i+)if(namei=namecount)/判断该物品是否已经存在numberi+=numbercount;
flag=0;
if(flag)count+;
/用于新增物品coutendlendlttendl;
添加商品成功!
coutttendl;
voidFood:
AddGoods()/增加食品system(cls);
coutendl请输入需要增加的食品信息endl;
i+)if(namei=namecount)/判断该物品是否存在numberi+=numbercount;
if(flag)coutnumbercount;
coutSaveTimecount;
count+;
/用于新增物品coutendlendlendlttendlendl;
coutttt添加商品成功!
coutendlendlendlendl;
coutendlttendlendl;
voidElectricalAppliance:
AddGoods()/增加家电system(cls);
coutendl请输入要增加的家电的信息endlendl;
i+)if(namei=namecount)/判断该物品是否已经存在coutnumbercount;
numberi+=numbercount;
coutcolorcount;
/用于新增物品coutendlendltt*endl;
couttt!
添加商品成功!
!
couttt*endl;
*SaleGoods函数voidDailyGoods:
SaleGoods()/出售日常用品system(cls);
coutendl请输入要出售的日常用品信息endlendl;
Sale();
/调用基类Goods里的Sale()函数voidFood:
SaleGoods()/出售食品system(cls);
coutendl请输入要出售的食品信息endlendl;
/调用基类Goods里的Sale函数voidElectricalAppliance:
SaleGoods()/卖出家电system(cls);
coutendl请输入要出售的家电信息endlendl;
/调用基类Goods里的Sale()函数*ShowMe函数voidDailyGoods:
ShowMe()/显示日常用品coutendl超市商品管理系统*日常用品区endlendl;
coutendl现有日常用品类商品库存:
endlendl;
i+)cout【i+1】日常用品名称:
setiosflags(ios:
left)setw(15)namei;
cout现存数量:
numberi个endl;
cout-endl;
ShowMe()/显示食品信息coutendl超市商品管理系统*食品区endlendl;
coutendl现有食品类商品库存:
i+)cout【i+1】食品名称:
/执行由有参数指定区域内的动作cout现存数量:
setw(4)numberisetw(8)千克;
/setw(n)设域宽为n个字符cout保质期:
setw(3)SaveTimei天endl;
ShowMe()/显示家电信息coutendl超市商品管理系统*家电区endlendl;
coutendl现有家电类商品库存:
i+)cout【i+1】家电名称:
numberisetw(6)台;
cout颜色:
coloriendl;
*文件的输入和保存函数voidDailyGoods:
Input_file(ostream&
outfile)/将DailyGoods类商品信息打印到文件中outfileendl现有日常用品类商品库存:
i+)outfile【i+1】日常用品名称:
outfile现存数量:
outfileendlendlendlendlendl;
voidDailyGoods:
Save_file(ostream&
Write_DailyGoods)/用于将DailyGoods商品信息单独保存到文件中Write_DailyGoodscountendl;
i+)Write_DailyGoodsnameinumberiendl;
outfile)/将Food类商品信息打印到文件中outfileendl现有食品类商品库存:
i+)outfile【i+1】食品名称:
outfile保质期:
Write_Food)/用于将Food商品信息保存到文件中Write_Foodcountendl;
i+)Write_FoodnameinumberiSaveTimeiendl;
outfile)/将ElectricalAppliance类商品信息打印到文件中outfileendl现有家电类(ElectricalAppliance)商品库存:
i+)outfile【i+1】家电名称:
outfile颜色:
Write_ElectricalAppliance)/用于将ElectricalAppliance商品信息保存到文件中Write_ElectricalAppliancecountendl;
i+)Write_ElectricalAppliancenameinumbericoloriendl;
/Display函数voidSelectMenu()/实现商品操作的列表coutendl超市商品管理系统endlendl;
coutt可操作选项:
coutendlendl;
coutttt1增加商品endl;
coutttt2出售商品endl;
coutttt3查询商品endl;
couttttendlendl;
coutt您要进行的操作是:
;
voidGoodList()/商品类别列表coutendl超市商品管理系统endlendl;
coutt我们提供的商品有:
coutttt1日常用品类endl;
coutttt2食品类endl;
coutttt3家电类endl;
coutttendlendl;
3详细设计3.1系统总体设计3.2源程序代码/Supermarket.h#pragmaonce/保证头文件只被编译一次#includeusingnamespacestd;
classSupermarket/要求
(1)超市类,描述函数Add,Sale,Searchpublic:
intAdd();
/增加商品函数,可以增加新商品,也可以增加已有商品intSale();
/按照商品名称卖出商品函数(如果商品现有数量小于卖出数量,则不能继续卖出,并给出提示信息)intSearch();
/按照商品类别查询商品情况的函数,查询结果:
每类商品中有哪些商品,每种花商品的名称和现有数量intGood_num;
/Supermarket.cpp#pragmaonce#includeGoods.h#includeSupermarket.h#includeDisplay.husingnamespacestd;
/增加商品的函数intSupermarket:
/按照商品名称卖出商品的函数intSupermarket:
/按照商品类别查询商品情况的函数intSupermarket:
/Goods.h#pragmaonce#include#include#includeusingnamespacestd;
/商品类GoodsclassGoodspublic:
virtualvoidAddGoods()=0;
/增加商品virtualvoidSaleGoods()=0;
/出售商品virtualvoidShowMe()=0;
/显示商品名称、现有数量、和食品类的保质期、以及家电的颜色voidSale();
/统一定义商品出售函数功能模块protected:
stringname100;
/记录商品名称intnumber100;
/记录商品数量intcount;
/记录各类商品的各自的商品种数;
/派生类:
日常用品类DailyGoodsclassDailyGoods:
publicGoodspublic:
DailyGoods();
/无参构造函数voidAddGoods();
/增加商品voidSaleGoods();
/出售商品friendistreamoperator(istream&
d);
/对DailyGoods类重载运算符,用于文件中读取日常用品类的信息voidShowMe();
/显示商品属性voidInput_file(ostream&
outfile);
/用于将商品信息输出到文件中voidSave_file(ostream&
Write_DailyGoods);
/用于将商品信息单独保存到文件中;
食品类FoodclassFood:
Food();
/出售商品/friendistreamoperator(istream&
in,Food&
f);
/对Food类重载运算符,用于文件中读取日常用品类的信息voidShowMe();
Write_Food);
/用于将商品信息单独保存到文件中private:
intSaveTime100;
/保质期;
家电类ElectricalApplianceclassElectricalAppliance:
ElectricalAppliance();
in,ElectricalAppliance&
e);
/对ElectricalAppliance类重载运算符,用于文件中读取日常用品类的信息voidShowMe();
Write_ElectricalAppliance);
stringcolor100;
/颜色属性;
/Goods.cpp#pragmaonce#includeGoods.h#includeSupermarket.h#includeDisplay.h#include#includeusingnamespacestd;
voidGoods:
/日常用品类函数定义DailyGoods:
DailyGoods()/类外定义构造函数,初始化货存日常用品信息count=4;
name0=台灯;
number0=76;
name1=毛巾;
number1=68;
name2=杯子;
number2=53;
name3=水壶;
number3=48;
voidDailyGoo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+课程设计 小型超市管理系统 C+ 课程设计 小型 超市 管理 系统