UML自动售货机代码与支付逻辑实现

需积分: 10 5 下载量 77 浏览量 更新于2024-09-16 收藏 27KB DOC 举报
这段代码是用C语言实现的一个简单的自动售货机程序,它主要包含两个函数:`GetCharge` 和 `Getsmalcharge`,以及一个主函数`main`。售货机提供三种商品选择:A(1元),B(5元),C(10元),用户可以输入购买的商品类型和相应的数量,然后输入支付金额。程序会根据用户的输入计算总价并处理找零。 1. **主函数** (`main`): - 用户界面通过循环进行交互,提示用户输入购买的商品类型(字符'a'、'b'或'c')和是否完成购买('Y'或'N')。在每次购买循环中,先初始化状态变量`state`和总价`Sum`。 - 使用`switch`语句处理用户输入的商品选择,将对应的费用累加到总价`Sum`上。 - 用户确认购买后,提示输入支付金额。如果金额不足,调用`GetCharge`函数进行验证和找零处理。如果支付成功,循环结束。 2. **`GetCharge` 函数**: - 这个函数接收总价`Sum`和用户输入的金额`Money`作为参数。首先,它创建一个整型数组`ChargeNum`来存储找零的硬币数量(1元、2元、5元和10元)。 - 如果总价大于用户输入的金额,函数打印提示信息,并返回`false`表示找零失败。 - 如果总价等于用户输入的金额,意味着用户支付了足够的钱,此时返回`true`表示找零完成。 - 否则,计算找零的金额`Result`,然后调用`Getsmalcharge`函数进行具体的找零计算,并输出找零明细。 3. **`Getsmalcharge` 函数**: - 这个函数接收找零的金额`Money`和`ChargeNum`指针作为参数。它将剩余的金额按1元、2元、5元和10元的硬币种类分别除法分配到`ChargeNum`数组中,最后更新数组元素。 这个程序实现了基本的自动售货机逻辑,包括商品选择、计价和找零功能,适合于教学或理解基础C语言编程中的条件判断、数组操作和函数调用等概念。同时,它展示了如何在控制台应用中处理用户输入和交互式流程。