C++实现的饮料自动售货机程序

5星 · 超过95%的资源 需积分: 32 121 下载量 12 浏览量 更新于2023-03-16 17 收藏 43KB DOC 举报
"该资源是一个基于C++编程的饮料自动售货机模拟程序,由孔令德和叶瑶开发。程序主要包括三个类:moneycounter、goodsinfo和drinkmachine,分别代表货币计数器、商品信息和自动售货机本身。通过用户交互,实现投币、选择商品、检查余额、找零以及商品售罄等实际售货机功能。" 在程序中,`moneycounter` 类用于管理用户的投入金额。`getgukemoney()` 函数用于获取用户投入的钱币,`money_from_buyer()` 返回当前输入的金额,而`clear()` 方法则清空当前的投入金额。此外,`return_money(float)` 函数用于退还多余的钱款给用户。 `goodsinfo` 类则用来存储商品的相关信息,包括商品名称(`name`)、价格(`price`)和库存(`total`)。`set_goods(string, float, int)` 方法允许设置商品的属性,而`goods_name()`、`goods_price()` 和 `goods_number()` 分别用于获取这些信息。 核心的 `drinkmachine` 类结合了货币计数和商品信息的功能,提供显示商品选择(`showchoices()`)、接收用户投币(`inputmoney()`)、检查购买的商品是否可用(`goodsitem(int)`)以及退还所有金钱(`return_allmoney()`)的功能。它包含一个 `moneycounter` 对象和一个 `goodsinfo` 数组,用于处理整个交易流程。 在这个模拟系统中,当用户选择购买的饮料时,`goodsitem(int)` 方法会检查库存是否充足以及价格是否匹配。如果条件满足,用户可以取走饮料并可能获得找零;如果金额不足,系统会提示用户增加投入;如果商品已售罄,将显示相应信息。整个程序通过控制台交互,实现了饮料自动售货机的基本功能。 这个案例对于学习C++面向对象编程和实际问题建模非常有帮助,同时也展示了如何用类和对象来组织复杂逻辑。开发者可以通过这个程序学习到如何设计和实现一个简单的商业交易系统,并理解类之间的交互和数据封装的概念。