饮料自动售货机专业系统设计_第1页
饮料自动售货机专业系统设计_第2页
饮料自动售货机专业系统设计_第3页
饮料自动售货机专业系统设计_第4页
饮料自动售货机专业系统设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

饮料自动售货机系统设计摘要:设计一个饮料机,实现计算应找钱数,找币,和销售量统计等多个功效。引言自动售货机像磁卡电话、银行柜员机一样,以方便、新奇、文明、昼夜服务等特点,成为发达国家不可缺乏便民配套设施。现在自动售货机能够为用户提供多个服务。用户能够依据自己需要选择商品并投入钱币,售货机接收钱币,售出商品。问题描述该设计模拟自动售货机工作原理和方法,完成出售商品、接收钱币、找零钱等功效。和系统交涉人有两类:送货员和用户。送货员在每七天固定时间查看售货机中饮料数量和钱币数量情况,并依据计划合适添加饮料。同时,送货员也能够依据需要经过重新初始化增加饮料种类,或修改饮料价格。用户依据需要选择饮料,投入钱币,并等候售货机响应。售货机(所设计系统)所做响应:假如售货机中没有该种饮料,则退回上一步,交易失败。不然,假如售货机中有该种饮料,则判定用户所投钱币是否足够,假如不够,则提醒用户交易失败,并退回上一步。假如用户所投钱币够所购置饮料,则售出饮料并问询是否继续购置。假如不需购置则进行找币,返回初始界面。当然,实际生活中售货机可能有愈加强大功效和更完善处理,这里只模拟一个售货机系统,所以只实现其关键原理,并练习和提升分析问题能力和编程能力。问题模型图所表示数据结构设计3.1类结构体说明采取了<iostream.h>和<string.h>建立了一个饮料机类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)用于对角找币。算法设计#include<iostream>#include<string>usingnamespacestd;doublesum;#definepassword123456classylj{public:ylj(){count=0;}ylj(stringa,doubleb){name=a;price=b;count=0;}voiddisp();voidgoumai();voidgm();intcount;stringname;doubleprice;intstock; };voidylj::disp()//输出函数{cout<<"饮料:"<<name<<"价格"<<price<<"存货量"<<stock<<endl;}voidzhaobi(inta)//找币函数(元){ intb,c;cout<<"找币为"<<endl;b=a/50;c=a%50;if(b)cout<<b<<"张五十元"<<endl;b=c/20;c=c%20;if(b)cout<<b<<"张二十元"<<endl;b=c/10;c=c%10;if(b)cout<<b<<"张十元"<<endl;b=c/5;c=c%5;if(b)cout<<b<<"张五元"<<endl;cout<<c<<"张一元"<<endl;}voidzhaobij(inta)//找币函数(角){ intb,c;b=a/5;c=a%5;if(b)cout<<b<<"枚五角"<<endl;cout<<c<<"枚一角"<<endl;}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<<"进行饮料机初始化,请输入有多个饮料"<<endl;cin>>n;a=newylj[n];//分配空间for(i=0;i<n;i++)//对饮料机进行初始化{cout<<"请输入第"<<i+1<<"种饮料名称"<<endl;cin>>a[i].name;cout<<"请输入第"<<i+1<<"种饮料价格"<<endl;cin>>a[i].price;cout<<"请输入第"<<i+1<<"种饮料现有量"<<endl;cin>>a[i].stock;if(i==(n-1))cout<<"输入完成"<<endl;}cout<<"现在已经有饮料明细为"<<endl;for(i=0;i<n;i++)a[i].disp();while(x!=3)//界面系统{ cout<<"请选择您身份:进货员------1用户--------2假如要终止系统请按3"<<endl;cin>>x;switch(x){case1://进货员系统 cout<<"请输入密码"<<endl;//密码判定 cin>>pw; if(pw==password) { while(xx!=3) { cout<<"现在已经有饮料明细为"<<endl;for(i=0;i<n;i++)a[i].disp();cout<<"请输入要进行操作:1-----查询销售统计2---补货3---返回上一级"<<endl;cin>>xx;switch(xx) { case1:for(i=0;i<n;i++) cout<<a[i].name<<"售出"<<a[i].count<<"瓶"<<endl;break;case2:for(i=0;i<n;i++) { cout<<a[i].name<<"补货多少瓶"<<endl; cin>>b; a[i].stock+=b;}break; case3:break; } }break; } elsecout<<"密码错误"<<endl;break;case2:while(xz!=4)//用户系统 { cout<<"现在已经有饮料明细为"<<endl;for(i=0;i<n;i++)a[i].disp();cout<<"目前饮料机中共有余额"<<money<<endl;cout<<"请输入要进行操作:1-----购置2---找币3---查询销售统计4----退出系统"<<endl;cin>>xz;switch(xz) { case1:cout<<"是否已投币是---1,否---2"<<endl; cin>>pd; if(pd==2) {cout<<"请投币"<<endl;cin>>money;}while(choice<1||choice>n) { cout<<"请选择购置第多个饮料"<<endl; cin>>choice; if(choice<1||choice>n) cout<<"输入错误,请重新输入"<<endl;} c=choice-1; cout<<"您所购置是"<<endl; a[c].disp(); a[c].goumai(); money-=a[c].price; if(money<0) { cout<<"钱不够啦买不起,请继续投币"<<endl; money+=a[c].price; a[c].gm();} elseif(a[c].stock<0) { cout<<"抱歉没货啦请选择别饮料"<<endl; money+=a[c].price; a[c].gm(); } choice=0;break; case2:cout<<"应找"<<money<<"元"<<endl; yuan=money; jiao=(money-yuan)*10; zhaobi(yuan); zhaobij(jiao); money=0;break; case3:for(i=0;i<n;i++) cout<<a[i].name<<"售出"<<a[i].count<<"瓶"<<endl; cout<<"总计销售额为"<<sum<<"元"<<endl; case4:break; } }break;case3:break;}}}程序运行结果5.1饮料机初始化5.2身份选择5.2.1用户界面5.2.2进货员界面6实现技术讨论利用了类进行饮料存放。并经过数组存放了对象,便于管理和增删。经过while语句和switch语句实现了多种操作界面和操作界面之间层次切换。7设计特点、不足及体会7.1设计特点将自动售货机用程序模拟,完成了其基础功效,如补货、查询销量统计和购置饮料。而且设计中能够流通面值大于饮料价格钱币(如10元、5元钱币),这么设计比较适合以后售货机发展趋势,即能够找零。送货员能够查看已经有饮料和钱币信息,这么能够知道一周之内多种饮料售出情况,从而能够合适调整多种饮料供给量,以追求最大化利润。在需要找零时,系统自动计算组合进行找零。启用系统时,只需第一次初始化系统,以后便可长久保持在初始操作界面,系统含有长久运行性。7.2设计不足因为界面多种操作基于已建立好对象。所以造成界面操作均在主函数中,造成主函数过于冗长。7.3收获和体会经过对饮料自动售货机系统设计和实现,从最开始搜集需求、系统分析、具体设计再到实现,对软件开发整个过程有了更清楚认识和了解。经过这次课程设计,我了解到我在数据结构这门课上还有十分大不足,很多语句使用方法模棱两可,不清

温馨提示

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

评论

0/150

提交评论