饮料自动售货机系统设计说明书

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

饮料自动售货机系统设计

摘要:设计一个饮料机,实现计算应找钱数,找币,以及销售量统计等多种功能。1. 引言

自动售货机像磁卡电话、银行柜员机一样,以方便、新颖、文明、昼夜服务等特点,成为发达国家不可缺少的便民配套设施。如今的自动售货机可以为顾客提供多种服务。顾客可以根据自己的需要选择商品并投入钱币,售货机接收钱币,售出商品。

2. 问题描述

该设计模拟自动售货机的工作原理和方式,完成出售商品、接收钱币、找零钱等功能。

与系统交涉的人有两类:送货员和顾客。

送货员在每周固定时间查看售货机中的饮料数量和钱币数量情况,并根据计划适当添加饮料。同时,送货员也可以根据需要通过重新初始化增加饮料的种类, 或修改饮料的价格。

顾客根据需要选择饮料,投入钱币,并等待售货机的响应。售货机(所设计的系统)所做的响应:如果售货机中没有该种饮料,则退回上一步,交易失败。否则,如果售货机中有该种饮料,则判断顾客所投钱币是否足够,如果不够,则提示顾客交易失败,并退回上一步。如果顾客所投的钱币够所购买的饮料,则售出饮料并询问是否继续购买。如果不需购买则进行找币,返回初始界面。

当然,实际生活中的售货机可能有更加强大的功能和更完善的处理,这里只模拟一个售货机系统,所以只实现其核心原理,并练习和提高分析问题能力和编程能力。

问题模型如图所示

3. 数据结构设计

3.1 类结构体说明

采用了 建立了一个饮料机类class ylj {

public:

ylj(){count=0;}

ylj(string a,double b){name=a;price=b;count=0;}

void disp();

void goumai();

void gm();

int count;

string name;

double price;

int stock;

};

Count 为销售量计数器,name为饮料名称,price 为饮料价格,stock 为饮料存货量

3.2 函数说明

disp() 函数用于输出对象。

goumai(); 函数用于购买时的统计。

gm(); 函数用于当购买失败时的返回处理。

zhaobi(int a) 用于对元的找币。

zhaobj(int a) 用于对角的找币。

4. 算法设计

#include

#include

using namespace std;

double sum;

#define password 123456

class ylj

{

public: ylj(){count=0;}

ylj(string a,double b){name=a;price=b;count=0;}

void disp();

void goumai();

void gm();

int count;

string name;

double price;

int stock;

};

void ylj::disp() // 输出函数

{cout<<" 饮料:"<

存货量"<

void zhaobi(int a) // 找币函数(元)

{

int b,c;

cout<<" 找币为"<

b=a/50;

c=a%50;

if(b)

cout<

b=c/20;

c=c%20;

if(b)

cout<

b=c/10;

c=c%10;

if(b)

cout<

b=c/5;

c=c%5;

if(b)

cout<

cout<

}

void zhaobij(int a) // 找币函数(角)

{

int b,c;

b=a/5;

c=a%5;

if(b)

cout<

{

sum+=price;

count++;

stock--;

}

void ylj::gm() // 购买失败函数

{

sum-=price;

count--;

stock++;

}

void main() // 主函数

{

int pw,i,n,choice,c,xz,x,xx,pd,yuan,b,jiao;

double money=0;

choice=0;

xz=0;

pd=0;

ylj *a; // 定义饮料机对象数组

cout<<" 进行饮料机初始化,请输入有几种饮料"<

cin>>n; a=new ylj[n]; // 分配空间

相关文档
最新文档