我有一个项目,我必须做以下事情;
您有一家小型企业,并且销售 6 种不同的产品。在 20p 到 25.00 英镑的范围内选择您的产品及其价格(这些可能完全是虚构的)。您的商店有 4 名员工,其中一名将在购买时在收银台。您的任务是编写 MATLAB 代码来为虚构交易准备收据,如下所述。收银台有一位顾客。他们想购买 3 个随机产品,每个产品都有特定数量。例如,客户想要 2 个卡布奇诺、1 个羊角面包和 6 个覆盆子松饼。(1) 从您的列表中随机选择 3 个产品。为每个产品选择 1 到 9 之间的随机数量。 (2) 计算总成本。(3)随机选择工作人员完成交易。(4) 假设价格包含 20% 的增值税。计算价格中包含的增值税金额。(6) 在 MATLAB 命令窗口中将收据准备为文本。使用当前日期和时间(检查 datestr(now,0))。您的代码应以图片中显示的格式输出收据。应该有 60 个符号。选择我们自己的店铺名称。
到目前为止,我的代码如下:
clear all
clc
close all
items = {'apples ','carrots ','tomatoes','lemons ','potatoes','kiwis '};% products
price = {3.10, 1.70, 4.00, 1.65, 9.32, 5.28};% item prices. I set spaces for each entry in order to maintain the border format.
employee = {'James','Karina','George','Stacey'};%the employees array
disp(sprintf('+-----------------------------------------------+'));
disp(sprintf('|\t%s \t\t\tAlex''s Shop |\n|\t\t\t\t\t\t\t\t\t\t\t\t|', datestr(now,0)));
totalPrice = 0;
for i = 1:3
randItems = items {ceil(rand*6)};
randprice = price {ceil(rand*6)};
randQuantity = ceil(rand*9);% random quantity from 1 to 9 pieces
randEmployee = employee{ceil(rand*4)};
itemTotal = randprice * randQuantity;%total price of individual item
totalPrice = totalPrice + itemTotal;
disp(sprintf('|\t%s\t (%d) x %.2f = £ %.2f \t\t\t|', randItems, randQuantity, randprice, itemTotal))
end
disp(sprintf('|\t\t\t\t-----------------------------\t|'));
disp(sprintf('|\t\t\t\t\t\t\t\t\t\t\t\t|\n|\t Total to pay \t £ %.2f\t\t\t\t|',totalPrice));
disp(sprintf('|\t VAT \t\t\t\t £ %.2f\t\t\t\t| \n|\t\t\t\t\t\t\t\t\t\t\t\t|', totalPrice*0.2));
disp(sprintf('|\tThank you! You have been served by %s\t|\t', randEmployee));
disp(sprintf('+-----------------------------------------------+'));
我的问题当然是以下。从项目列表中选择一个随机项目后,我也会选择一个随机价格来分配。不过我不想要这个。我想找到一种方法,在生成要添加到购物篮的随机项目时,为要自动打印的每个项目分配预设价格。我希望这个解释对您来说已经足够了,如果您有任何问题,请随时提出。先感谢您。