c 案例十六 超市收银系统ppt课件_第1页
c 案例十六 超市收银系统ppt课件_第2页
c 案例十六 超市收银系统ppt课件_第3页
c 案例十六 超市收银系统ppt课件_第4页
c 案例十六 超市收银系统ppt课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、目录目录退出退出目录目录案例十六 超市收银系统本案例知识要点格式化输出构造体的运用类的设计和运用类指针的运用函数重载向量的运用虚函数目录目录退出退出目录目录一、案例需求案例描画模拟“美特好超市收款过程,根据货物清单,选定所购货物种类和数量,实现收银结账。案例效果图案例效果如以下图。目录目录退出退出目录目录超市收银系统案例效果图1 目录目录退出退出目录目录超市收银系统案例效果图2 目录目录退出退出目录目录功能阐明显示超市库存商品信息。显示购物流程提示信息。实现收款过程,反复输入所购各种商品的索引号和购买数量,直到输入商品索引号“1,终了购物流程。实现收银,根据顾客所交现金,自动找零。目录目录退出

2、退出目录目录二、案例分析在本案例中,超市收银系统应具备四大根本功能:商品管理、货架管理、购物篮管理和收银管理。货架管理实现库中某种商品的入库、出库、查询及显示等功能。需求建立一个货架类,经过调用相应的函数来实现。每种商品有单价、条形码、商品称号等属性。商品管理类实现了设置、获取商品信息、复制商品信息等功能。购物篮管理就是一个小型的货架管理,可以用货架类来实现。收银管理实现商品的结账、找零等义务。需求建立一个收银台类,经过调用相应的函数来实现。 目录目录退出退出目录目录其中,需求留意以下一些问题:从货架拿货时,应该将商品拿一部分出去,经过将商品“复制一份出去来实现。“货架上有形形色色的商品,因此

3、,这个类需求向量这个容器来包容这些商品。向量中仅存储商品对象是不够的,由于商品没有量的概念,终究容器中包含多少件此类商品还需求用另外一个变量来表示,经过把商品对象和商品数量集成到一个构造体中来实现。如何构建购物篮对象?仔细想一下,“购物篮就是一个小型的货架,因此可以用“货架类模拟一个购物篮。目录目录退出退出目录目录三、案例设计1类的设计根据上述的设计思想,设计了“商品类、“货架类和“收银台类3个类,这3个类的声明部分在文件“counter.h中实现,3个类的成员函数的实现部分在文件“counter.cpp中完成。其中商品类CGoods类担任完成商品信息的存储、获取、复制等义务;货架类CStor

4、e类担任完成库中商品的入库、出库、查询及显示等义务;收银台类CCounter类担任完成商品的结账、找零等义务。另外在counter.h文件中还定义了一个表示货架商品对象的构造SStoreElement,它有两个成员,一个是商品对象的指针,一个是此类商品的数量。货架中的每个商品都是这个构造类型的。目录目录退出退出目录目录目录目录退出退出目录目录CGoods类构造图 目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录构造体tagStoreElement的构造 目录目录退出退出目录目录3CStore类货架类的设计 CStore类的构造如以下图。CStore类的构造 目录目录退出

5、退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录4CCounter类收银台类的设计 CCounter类的构造如以下图。CCounter类的构造 目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录2主程序设计开场显示超市一切商品的信息输入欲购买商品的索引号输入欲购买商品的数量继续购买商品吗?去收银台结账终了NY1函数设计 CStore* PrepareStore() 该函数用于最初“进货,即向货架中存入一批商品,包括这些商品的商品索引、商品称号、数量及单价,即创建一个商店。 前往值: CSt

6、ore *pStore为Cstore类的指针,代表一个货架。 void usage() 该函数用于为用户显示操作提示,即通知“客人超市购物的购物流程。 前往值: 无。目录目录退出退出目录目录2主函数设计 在main()函数中,首先分别对3个类定义一个超市、一个购物篮和一个收银台对象,然后定义了一个顾客交钱的变量,并初始化为0。利用上诉类的其他成员函数来实现购物过程。详细流程如以下图。目录目录退出退出目录目录主程序调用流程图 目录目录退出退出目录目录四、案例实现目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出

7、目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出

8、目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录目录目录退出退出目录目录五、案例总结与提高案例总结在本案例中,比较关键的一步是分析出超市货架这个类,有些读者可以会将“顾客笼统为一个类,然后将购物篮放到顾客这个类中。这是不正确的,由于无法在顾客类中处置购买货物和清理货物的逻辑。实际上,在整个收银系统设计中,顾客并没有真正地参与进来,收银台处置的只是一个又一个的购物篮。顾客真正参与的部分是在main函数中,经过交互,顾客可以购买商品,可以结账等。另外一个难点是CGoods中的Clone()函数,为了从货架超市中选购一件商品,用户需求从CStore类中复制一件商品出来,而CStore类中存储的是各种商品的向量,因此,需求让商品类CGoods具有自我复制的功能,而在复制的过程中,商品的数量应该设为零,至于选购多少可以让用户调用CGoods类中的成员函数SetNum(int iNum)来确定。目录目录退出退出目录目录案例提高 这个案例只是简单地模拟了一个顾客去超市购物的过程,可以提高的地方还有很多。本案例为了简单起见,只是处置了一个购物篮,也就是说整个超市只需一个顾客。这不是一个对真实场

温馨提示

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

评论

0/150

提交评论