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

上传人:E**** 文档编号:100277397 上传时间:2019-09-23 格式:DOC 页数:17 大小:464KB
返回 下载 相关 举报
饮料自动售货机系统设计说明书资料_第1页
第1页 / 共17页
饮料自动售货机系统设计说明书资料_第2页
第2页 / 共17页
饮料自动售货机系统设计说明书资料_第3页
第3页 / 共17页
饮料自动售货机系统设计说明书资料_第4页
第4页 / 共17页
饮料自动售货机系统设计说明书资料_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《饮料自动售货机系统设计说明书资料》由会员分享,可在线阅读,更多相关《饮料自动售货机系统设计说明书资料(17页珍藏版)》请在金锄头文库上搜索。

1、word完美格式饮料自动售货机系统设计摘要:设计一个饮料机,实现计算应找钱数,找币,以及销售量统计等多种功能。1. 引言自动售货机像磁卡电话、银行柜员机一样,以方便、新颖、文明、昼夜服务等特点,成为发达国家不可缺少的便民配套设施。如今的自动售货机可以为顾客提供多种服务。顾客可以根据自己的需要选择商品并投入钱币,售货机接收钱币,售出商品。2. 问题描述该设计模拟自动售货机的工作原理和方式,完成出售商品、接收钱币、找零钱等功能。与系统交涉的人有两类:送货员和顾客。送货员在每周固定时间查看售货机中的饮料数量和钱币数量情况,并根据计划适当添加饮料。同时,送货员也可以根据需要通过重新初始化增加饮料的种类

2、,或修改饮料的价格。顾客根据需要选择饮料,投入钱币,并等待售货机的响应。售货机(所设计的系统)所做的响应:如果售货机中没有该种饮料,则退回上一步,交易失败。否则,如果售货机中有该种饮料,则判断顾客所投钱币是否足够,如果不够,则提示顾客交易失败,并退回上一步。如果顾客所投的钱币够所购买的饮料,则售出饮料并询问是否继续购买。如果不需购买则进行找币,返回初始界面。当然,实际生活中的售货机可能有更加强大的功能和更完善的处理,这里只模拟一个售货机系统,所以只实现其核心原理,并练习和提高分析问题能力和编程能力。问题模型如图所示 3. 数据结构设计3.1类结构体说明采用了和建立了一个饮料机类class yl

3、jpublic: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.

4、 算法设计#include#includeusing namespace std;double sum;#define password 123456class yljpublic: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饮料:name 价格price 存货量stockendl;void zhaobi(int

5、a) /找币函数(元)int b,c;cout找币为endl;b=a/50;c=a%50;if(b)coutb张五十元endl;b=c/20;c=c%20;if(b)coutb张二十元endl;b=c/10;c=c%10;if(b)coutb张十元endl;b=c/5;c=c%5;if(b) coutb张五元endl;coutc张一元endl;void zhaobij(int a) /找币函数(角)int b,c;b=a/5;c=a%5;if(b)coutb枚五角endl;coutc枚一角endl;void ylj:goumai() /购买函数sum+=price;count+;stock-;

6、 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进行饮料机初始化,请输入有几种饮料n;a=new yljn; /分配空间for(i=0;in;i+) /对饮料机进行初始化cout请输入第i+1种饮料名称ai.name;cout请输入第i+1种饮料价格ai.price;cout请输入第i+1种饮料现有量ai.s

7、tock;if(i=(n-1)cout输入完毕endl;cout目前已有饮料明细为endl;for(i=0;in;i+)ai.disp();while(x!=3) /界面系统cout请选择您的身份: 进货员-1 顾客-2 如果要终止系统请按3x; switch(x) case 1: /进货员系统 cout请输入密码pw; if(pw=password) while(xx!=3) cout目前已有饮料明细为endl; for(i=0;in;i+) ai.disp(); cout请输入要进行的操作:1-查询销售统计 2-补货 3-返回上一级 xx; switch(xx) case 1:for (i

8、=0;in;i+) coutai.name售出ai.count瓶endl;break; case 2:for (i=0;in;i+) coutai.name补货多少瓶b; ai.stock+=b;break; case 3:break; break; else cout密码错误endl;break; case 2:while(xz!=4) /顾客系统 cout目前已有饮料明细为endl; for(i=0;in;i+) ai.disp(); cout当前饮料机中共有余额moneyendl; cout请输入要进行的操作:1-购买 2-找币 3-查询销售统计 4-退出系统xz; switch(xz)

9、 case 1:cout是否已投币 是-1,否-2pd; if(pd=2) cout请投币money; while(choicen) cout请选择购买第几种饮料choice; if(choicen) cout输入错误,请重新输入endl; c=choice-1; cout您所购买的是endl; ac.disp(); ac.goumai(); money-=ac.price; if(money0) cout钱不够啦买不起,请继续投币endl; money+=ac.price; ac.gm(); else if(ac.stock0) cout抱歉没货啦请选择别的饮料endl; money+=ac

10、.price; ac.gm(); choice=0;break; case 2:cout应找money元endl; yuan=money; jiao=(money-yuan)*10; zhaobi(yuan); zhaobij(jiao); money=0;break; case 3:for (i=0;in;i+) coutai.name售出ai.count瓶endl; cout总计销售额为sum元endl; case 4:break; break; case 3:break; 5. 程序运行的结果5.1饮料机初始化5.2身份选择5.2.1 顾客界面5.2.2进货员界面6 实现技术讨论 运用了类进行饮料的存储。并通过数组存储了对象,便于管理以及增删。通过while语句以及switch语句实现了各种操作界面以及操作界面之间层次的切换。7 设计的特点、不足及体会7.1 设计的特点 将自动售货机用程序模拟,完成了其基本功能,如补货、查询销量统计和购买饮料。而且设计中可以流通面值大于饮料价格的钱币(如10元、5元的钱币),这样设计比较适合以后售货机的发展趋势,即可以找零。送货员可以查看已有饮料和钱币信息,这样可以知道一周之内各

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号