学写的README.MD

TaxWorks

目录

背景介绍

TaxWorks,是用C++编写的模拟为商店购物清单计算税费的控制台小程序,是在参加ThoughtWorks2016校招的过程中依据给出的编程题目开发。

项目介绍

TaxWorks 的设计初衷是模拟客人在商店购物,根据她出示的一个购物清单,为她估算税费和总费用。

在生活中有这样的情况,有些客人拿着预先准备好的购物清单直接来到结算处要求计算费用,以确定税费多少再决定是否购买。税费计算比较复杂,除了普通消费税以外,有的进口商品还需缴纳进口附加税,当然还有免税商品的情况。TaxWorks 正是为了解决此问题而设计的。

TaxWorks中,使用Text文档保存购物清单(英文)。如果用户想要修改购物清单,直接修改txt文档即可。程序中对购物清单的格式提出了一些要求,但由于个人时间和能力所限,考虑得并不是十分周全。

TaxWorks还初始化了一个库存项目列表,检查购物清单中的物品是否存在于库存中,并返回物品类别号。从购物清单中可以读出物品的数量,后期在完善程序功能的时候可以和库存项目的数量做对比,检查是否有足够的库存。

使用说明

输入

Input 1:
1 book at 12.49
1 music CD at 14.99
1 chocolate bar at 0.85

Input 2:
1 imported box of chocolates at 10.00
1 imported bottle of perfume at 47.50

Input 3:
1 imported bottle of perfume at 27.99
1 bottle of perfume at 18.99
1 packet of headache pills at 9.75
1 box of imported chocolates at 11.25

分别用3个Text文档存储了以上Input的内容,程序中选择读取编号。将每个Input视为一次购物清单,当完成了一项购物清单的税费计算后,TaxWorks会询问是否还要计算别的清单。

购物清单格式要求

可以根据需求,改变购物清单的内容。
但因为程序会对购物清单的内容逐行进行语义识别,所以对购物清单的格式是有要求的:

  1. 字段间用空格分割
  2. 数量是第一个字段,且不小于零、不溢出、不为非数字
  3. 价格是最后一个字段,且不小于零
  4. 对于有单位的描述,识别of与at间的所有字段为name
  5. 对于没有单位的字段,识别数量后到at前的所有字段为name
  6. 进口商品在描述中需有imported字段

由于个人时间和能力所限,考虑得并不是十分周全,有些字段例如数量的设立是为了后期扩展程序时与库存数量对比准备的。

库存数据

本程序中,仅按题目设定了7种商品,使用vector组织结构。
如果要对本程序做应用方面的进一步完善,应该用数据库,还需要完善。

税费计算原理

1、普通商品都需要缴纳10%的消费税。
2、免税商品无需缴纳消费税,免税商品种类为:书籍(book)、食品(food)、药品(medical product)
3、进口商品需要缴纳5%的进口附加税,没有种类可以豁免。
4、每个物品的2项税费在汇总之后,向上舍入到最近的0.05元。

输出

显示每个商品的描述(数量、单位、名称),在冒号(:)后显示该商品经过税费计算后需要付款的总额(价格+税费)。
列表最下面列出了该订单需要付出的总税费和总额。

其他

时间仓促,功能简陋,望您包涵。项目的Bug和改进点,期盼得到您的指点,欢迎随时与我沟通,联系方式:

发布了30 篇原创文章 · 获赞 31 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章