下载此文档

自动售货机仿真实验报告.doc


文档分类:通信/电子 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
-
. z
?自动售货机仿真?实验报告
问题描述
① 有一种自动售货机VM,可售三种商品:可乐〔每听$〕,咖啡理员的通信:因VM管理员之间的通信存在时间差,即VM发出的信息需经TM后才能传递到管理员,故①中方法不再适用。采用一全局变量(CallAdmTimeLeft)来记录信息还需多长时间才能到达管理员,其值为-1表示VM为发出请求或上一个请求已被处理,值为0则通知管理员。这样便可通过主函数完成消息的传递。
类的设计
-
. z
"Pbulic,h"中声明定义了各类共享的一些数据类型及运行时需要的一些参数。
类型:
enum Coin{FIVE=5,TEN=10,TWFIVE=25}:硬币的种类
typedef unsigned int ID:VM编号的类型
typedef int PRICE:价格,现金的类型,单位为美分
typedef int TIME:时间的类型
运行时所需的参数,集中放置方便修改
const int COINKINDS:硬币种类数目
const int COINMA*:产生顾客时,其拥有的硬币数目的最大值
const int WAITTIME:顾客两次操作间最长时间间隔
const int CREATEMA*:一次交易完毕后产生下一顾客的最大间隔时间
const int TMMA*:TM的最大值
const int TSMA*=5:TS的最大值
const int THEID:VM的编号
const int RUNTIME:运行的最大时间
商品〔Goods〕类的设计
变量/函数 成员
作用
私有
string name
标示商品名称
PRICE price
标示商品价格
int ma*Num
售货机中该商品的最大容量
int leftNum
记录售货机中该商品的剩余量
int allSold
记录该商品的销售量
Goods(const Goods&)
防止按值传递
const Goods& operator=(const Goods&)
防止按值传递
公有
Goods(string ,PRICE ,int ,int )
构造函数
getName()
返回商品名称
getPrice()
返回商品价格
getLeftNum()
返回剩余数量
getAllSold()
返回销售量
setMa*()
将商品数量冲至最大值
sellOne()
销售一件商品时应执行的操作
顾客〔Customer〕类的设计
变量/函数 成员
作用
私有
string goodsWanted
标示所需商品
vector<Coin> money
投币顺序,建立对象时初始化
PRICE alreadyInsert
已投的金额,用于与商品价格比较,判断是否按按钮
PRICE moneyLeft
记录当前剩余金额
int timeleft
记录产生下一投币动作或按按钮动作还剩的时间
Custome

自动售货机仿真实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wdggjhm62
  • 文件大小94 KB
  • 时间2022-08-19