




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学 数据结构 课程设计说明书 饮料自动售货机系统设计饮料自动售货机系统设计 摘要 摘要 设计一个饮料机 实现计算应找钱数 找币 以及销售量统计等多种功能 1 1 引言引言 自动售货机像磁卡电话 银行柜员机一样 以方便 新颖 文明 昼夜服务等特点 成为发达国家不可缺少的便民配套设施 如今的自动售货机可以为顾客提供多种服务 顾客可以根据自己的需要选择商品并投入钱币 售货机接收钱币 售出商品 2 2 问题描述问题描述 该设计模拟自动售货机的工作原理和方式 完成出售商品 接收钱币 找零钱等功能 与系统交涉的人有两类 送货员和顾客 送货员在每周固定时间查看售货机中的饮料数量和钱币数量情况 并根据计划适当添 加饮料 同时 送货员也可以根据需要通过重新初始化增加饮料的种类 或修改饮料的价 格 顾客根据需要选择饮料 投入钱币 并等待售货机的响应 售货机 所设计的系统 所做的响应 如果售货机中没有该种饮料 则退回上一步 交易失败 否则 如果售货 机中有该种饮料 则判断顾客所投钱币是否足够 如果不够 则提示顾客交易失败 并 退回上一步 如果顾客所投的钱币够所购买的饮料 则售出饮料并询问是否继续购买 如果不需购买则进行找币 返回初始界面 当然 实际生活中的售货机可能有更加强大的功能和更完善的处理 这里只模拟一个 售货机系统 所以只实现其核心原理 并练习和提高分析问题能力和编程能力 问题模型如图所示 武汉理工大学 数据结构 课程设计说明书 3 3 数据结构设计数据结构设计 3 13 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 23 2 函数说明函数说明 disp 函数用于输出对象 goumai 函数用于购买时的统计 gm 函数用于当购买失败时的返回处理 zhaobi int a 用于对元的找币 zhaobj int a 用于对角的找币 武汉理工大学 数据结构 课程设计说明书 4 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 饮料 name 价格 price 存货量 stock endl void zhaobi int a 找币函数 元 int b 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 void zhaobij int a 找币函数 角 int b c b a 5 c a 5 if b cout b 枚五角 endl cout c 枚一角 endl void ylj goumai 购买函数 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 进行饮料机初始化 请输入有几种饮料 n a new ylj n 分配空间 for i 0 i n i 对饮料机进行初始化 cout 请输入第 i 1 种饮料名称 a i name cout 请输入第 i 1 种饮料价格 a i price cout 请输入第 i 1 种饮料现有量 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 x switch x case 1 进货员系统 cout 请输入密码 pw if pw password while xx 3 cout 目前已有饮料明细为 endl for i 0 i n i a i disp cout 请输入要进行的操作 1 查询销售统计 2 补货 3 返回上一级 xx switch xx case 1 for i 0 i n i cout a i name 售出 a i count 瓶 endl break case 2 for i 0 i n i cout a i name 补货多少瓶 b a i stock b break case 3 break break else cout 密码错误 endl break case 2 while xz 4 顾客系统 cout 目前已有饮料明细为 endl 武汉理工大学 数据结构 课程设计说明书 for i 0 i n i a i disp cout 当前饮料机中共有余额 money endl cout 请输入要进行的操作 1 购买 2 找币 3 查询销 售统计 4 退出系统 xz switch xz case 1 cout 是否已投币 是 1 否 2 pd if pd 2 cout 请投币 money while choicen cout 请选择购买第几种饮料 choice if choicen 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 else if a c stock 0 cout 抱歉没货啦请选择别的饮料 endl money a c price a c 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 i n i 武汉理工大学 数据结构 课程设计说明书 cout a i name 售出 a i count 瓶 endl cout 总计销售额为 sum 元 endl case 4 break break case 3 break 5 5 程序运行的结果程序运行的结果 5 15 1 饮料机初始化饮料机初始化 武汉理工大学 数据结构 课程设计说明书 5 25 2 身份选择身份选择 5 2 15 2 1 顾客界面顾客界面 武汉理工大学 数据结构 课程设计说明书 武汉理工大学 数据结构 课程设计说明书 5 2 25 2 2 进货员界面进货员界面 武汉理工大学 数据结构 课程设计说明书 6 6 实现技术讨论实现技术讨论 运用了类进行饮料的存储 并通过数组存储了对象 便于管理以及增删 通过 while 语句以及 switch 语句实现了各种操作界面以及操作界面之间层次的切换 7 7 设计的特点 不足及体会设计的特点 不足及体会 7 17 1 设计的特点设计的特点 将自动售货机用程序模拟 完成了其基本功能 如补货 查询销量统计和购买饮料 而且设计中可以流通面值大于饮料价格的钱币 如 10 元 5 元的钱币 这样设计比较 适合以后售货机的发展趋势 即可以找零 送货员可以查看已有饮料和钱币信息 这样 可以知道一周之内各种饮料的售出情况 从而可以适当调整各种饮料的供应量 以追求 最大化的利润 在需要找零时 系统自动计算组合进行找零 启用系统时 只需第一次 初始化系统 之后便可长期保持在初始操作界面 系统具有长期运行性 7 27 2 设计的不足设计的不足 由于界面的各种操作基于已建立好的对象 所以导致界面操作均在主函数中 导致主 函数过于冗长 7 37 3 收获和体会收获和体会 通过对饮料自动售货机系统的设计与实现 从最开始搜集需求 系统分析 详细设计 再到实现 对软件开发的整个过程有了更清晰的认识和了解 通过这次课程设计 我了解到我在数据结构这门课上还有十分大的不足 许多语句 的用法模棱两可 不清楚语句的准确用途 通过和同学及老师的交流 才成功的写出了 可行的程序 我了解到了编程是需要合作以及互相帮助的 了解了 c 与 c 的不同 类是数据更安全 数据与对应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传统食品工业化生产2025年智能工厂改造项目进度控制报告
- 社渚镇民宅转让合同范本
- 灌溉项目合同协议书范本
- 碎石机械销售合同协议书
- 机动车销售服务合同范本
- 汽修厂多人合伙协议合同
- 湖南文理学院合作协议书
- 电动车出租合作合同范本
- 烘焙店工作合同范本模板
- 物业创意园租房合同范本
- 01-低血糖症科普知识讲座
- 2025年新疆维吾尔自治区生产建设兵团中考语文真题(解析版)
- 2025年广西中考地理试题(含答案)
- 货车转让不过户合同协议书
- 化工自动化仪表 选择题805-1556
- GB/T 4604-2006滚动轴承径向游隙
- GB/T 12008.2-2010塑料聚醚多元醇第2部分:规格
- 既有住宅适老化改造项目可行性研究报告书
- 公司网银盾交接单
- 施工人员安全教育培训课件
- 建筑施工项目成本费用分析手册
评论
0/150
提交评论