UVA330 库存维护
题目描述
## 题意简述
凤姐(Madam Phoenix)准备迁往西南地区,开设一家名为“阳光趣事”的商店,销售太阳镜、防晒霜等商品。她决定雇佣你为她的新店编写一个库存管理程序。
以下是你的程序需要处理的各种操作类型。
:::info[new 商品名称 商品成本 商品售价]
将一个新商品(商店之前未销售过的)添加到库存中。商品成本和商品售价以正常的美元金额给出(两位小数),不带美元符号。请注意,此操作实际上不会导致库存的变化,而是为后续向商店商品中添加该商品单位做准备。商品成本是凤姐为每个商品单位支付的价格,商品售价则是她销售该商品的价格。所有商品名称的总数不会超过 $100$ 个。商品成本和商品售价永远不会超过 $100.00$。
:::
:::info[delete 商品名称]
商品销售不佳,从库存中移除。库存中所有该商品都将作为损失核销(即从利润中扣除)。
:::
:::info[buy 商品名称 数量]
凤姐购买了一些商品(按之前指定的单位成本)用于销售。数量表示她购买的单位数量。每次购买的数量不会超过 $5000$,但库存中的单位数量最多可达 $10,000$。
:::
:::info[sell 商品名称 数量]
售出一个或多个商品。数量表示售出的数量(按之前指定的商品售价出售)。保证售出的数量不会超过库存中的商品数量。
:::
:::info[report]
生成一份报告。程序需要输出相应内容。你的程序将以适当的标题显示列,包括商品名称、购买价格、销售价格、库存中的单位数量以及库存单位的价值(即库存中的单位数量乘以购买价格)。报告中的行应按商品名称的字母顺序排序。在所有商品之后,应显示库存中所有单位的总价值。最后,应显示一行,展示自上次报告发布以来的总利润。利润定义为总销售额减去已售商品的成本,再减去核销商品(通过“delete”活动)的成本。
**每次报告后输出一个空行。**
样例输出显示了报告所需的格式。报告中的所有数字必须精确无误。
:::
输入格式
每行一个操作,一个操作以小写关键词开头,用于标识要执行的操作。库存中商品的名称区分大小写,每个名称不超过十个非空字符,所有字段由空格分隔,凤姐保证输入文件中不会出现任何错误。遇到星号($\texttt{*}$)时输入结束。操作细节查看题目描述。
输出格式
如样例输出。