饮料自动售货机系统设计说明书.docx
- 文档编号:7021076
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:13
- 大小:360.12KB
饮料自动售货机系统设计说明书.docx
《饮料自动售货机系统设计说明书.docx》由会员分享,可在线阅读,更多相关《饮料自动售货机系统设计说明书.docx(13页珍藏版)》请在冰点文库上搜索。
饮料自动售货机系统设计说明书
饮料自动售货机系统设计
摘要:
设计一个饮料机,实现计算应找钱数,找币,以及销售量统计等多种功能。
1.引言
自动售货机像磁卡电话、银行柜员机一样,以方便、新颖、文明、昼夜服务等特点,成为发达国家不可缺少的便民配套设施。
如今的自动售货机可以为顾客提供多种服务。
顾客可以根据自己的需要选择商品并投入钱币,售货机接收钱币,售出商品。
2.问题描述
该设计模拟自动售货机的工作原理和方式,完成出售商品、接收钱币、找零钱等功能。
与系统交涉的人有两类:
送货员和顾客。
送货员在每周固定时间查看售货机中的饮料数量和钱币数量情况,并根据计划适当添加饮料。
同时,送货员也可以根据需要通过重新初始化增加饮料的种类,或修改饮料的价格。
顾客根据需要选择饮料,投入钱币,并等待售货机的响应。
售货机(所设计的系统)所做的响应:
如果售货机中没有该种饮料,则退回上一步,交易失败。
否则,如果售货机中有该种饮料,则判断顾客所投钱币是否足够,如果不够,则提示顾客交易失败,并退回上一步。
如果顾客所投的钱币够所购买的饮料,则售出饮料并询问是否继续购买。
如果不需购买则进行找币,返回初始界面。
当然,实际生活中的售货机可能有更加强大的功能和更完善的处理,这里只模拟一个售货机系统,所以只实现其核心原理,并练习和提高分析问题能力和编程能力。
问题模型如图所示
3.数据结构设计
3.1类结构体说明
采用了
建立了一个饮料机类
classylj
{
public:
ylj(){count=0;}
ylj(stringa,doubleb){name=a;price=b;count=0;}
voiddisp();
voidgoumai();
voidgm();
intcount;
stringname;
doubleprice;
intstock;
};
Count为销售量计数器,name为饮料名称,price为饮料价格,stock为饮料存货量。
3.2函数说明
disp()函数用于输出对象。
goumai();函数用于购买时的统计。
gm();函数用于当购买失败时的返回处理。
zhaobi(inta)用于对元的找币。
zhaobj(inta)用于对角的找币。
4.算法设计
#include
#include
usingnamespacestd;
doublesum;
#definepassword123456
classylj
{
public:
ylj(){count=0;}
ylj(stringa,doubleb){name=a;price=b;count=0;}
voiddisp();
voidgoumai();
voidgm();
intcount;
stringname;
doubleprice;
intstock;
};
voidylj:
:
disp()//输出函数
{cout<<"饮料:
"< voidzhaobi(inta)//找币函数(元) { intb,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< } voidzhaobij(inta)//找币函数(角) { intb,c; b=a/5; c=a%5; if(b) cout< cout< } voidylj: : goumai()//购买函数 { sum+=price; count++; stock--; } voidylj: : gm()//购买失败函数 { sum-=price; count--; stock++; } voidmain()//主函数 { intpw,i,n,choice,c,xz,x,xx,pd,yuan,b,jiao; doublemoney=0; choice=0; xz=0; pd=0; ylj*a;//定义饮料机对象数组 cout<<"进行饮料机初始化,请输入有几种饮料"< a=newylj[n];//分配空间 for(i=0;i { cout<<"请输入第"< cin>>a[i].name; cout<<"请输入第"< cin>>a[i].price; cout<<"请输入第"< cin>>a[i].stock; if(i==(n-1)) cout<<"输入完毕"< cout<<"目前已有饮料明细为"< for(i=0;i a[i].disp(); while(x! =3)//界面系统 { cout<<"请选择您的身份: 进货员------1顾客--------2如果要终止系统请按3"< cin>>x; switch(x) { case1: //进货员系统 cout<<"请输入密码"< cin>>pw; if(pw==password) { while(xx! =3) { cout<<"目前已有饮料明细为"< for(i=0;i a[i].disp(); cout<<"请输入要进行的操作: 1-----查询销售统计2---补货3---返回上一级"< cin>>xx; switch(xx) { case1: for(i=0;i cout< case2:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 饮料 自动 售货 系统 设计 说明书