设计一个简单的自动售货机程序至少有五种货物
时间: 2024-10-29 17:20:11 浏览: 19
当然,我们可以设计一个简单的自动售货机(Vending Machine)程序,这个程序会模拟基本的购买过程,包括几种商品的选择、价格以及库存管理。以下是一个基础的MATLAB代码示例:
```matlab
classdef VendingMachine < handle
properties (Access = private)
% 商品列表及其价格
products = containers.Map({'cola', 'juice', 'chips', 'cookie', 'water'}, [1.50, 2.00, 0.75, 0.50, 1.00]);
% 库存数量
inventory = ones(1, length(products));
end
methods
function dispProducts(self)
fprintf('Available Products:\n');
for i = 1:length(self.products)
fprintf('%s - $%.2f\n', self.products.keys{i}, self.products.values{i});
end
end
function insertCoins(self, amount)
if amount >= 0 && mod(amount, 1) == 0
self.inventory = self.inventory - amount;
if any(self.inventory < 0)
error('Insufficient funds or out of stock.');
else
fprintf('Inserted %.2f, change will be returned.\n', amount);
end
else
error('Invalid amount inserted.');
end
end
function selectItem(self, item)
price = self.products(item);
if self.inventory(item) > 0
self.inventory(item) = self.inventory(item) - 1;
fprintf('Purchased %s for $%.2f.\n', item, price);
else
error('Out of stock.');
end
end
end
end
% 初始化并显示商品
vm = VendingMachine;
vm.dispProducts();
% 模拟购买操作
vm.insertCoins(5); % 插入硬币
vm.selectItem('cola'); % 选择可乐
```
在这个例子中,我们定义了一个名为`VendingMachine`的类,包含了商品列表(`products`)、库存(`inventory`),以及几个处理用户交互的方法:显示商品、插入硬币和选择商品。用户可以通过实例化该类然后调用相应方法来进行操作。
阅读全文