### 超市购物小票设计

我们在超市购物结款时，超市都会打印出购物小票。用户凭借购物小票可以办理退货、换货和发票等服务。通常的超市购物小票如图 1 所示。

图 1 超市购物小票

下面我们就通过程序来模拟输出购物小票。通过观察，我们可以将购物小票分为 3 部分。如图 2 所示。

图 2 购物小票分析

这是因为第 1 部分和第 3 部门行数是固定的，只有第 2 部分的商品是变化的。因此我们在设计购物小票时，可以设计 3 个输出函数 OutputHeader、OutputGoods 和 OutputTrail。分别输出第 1 部分、第 2 部分和第 3 部分。在程序中要完成一个购物小票的输出，首先调用 OutputHeader 输出第 1 部分，然后根据用户的商品数量来多次调用 OutputGoods 函数，最后调用 OutputTrail 函数输出小票的第 3 部分。实例效果如图 3 所示。

图 3 设计效果