针对我于大一下编写的“超市购物系统”,我进行以下介绍及二次开发的拓展功能。
一. 程序介绍
功能1.修改商品信息
我尽量做到界面简洁,功能齐全易懂,修改信息这块功能实则包含增添新商品和删除就商品等内容,考虑到此类功能相似,故将其归为一类,界面易懂,操作简单。
功能2.购买商品
采用商品序号购买商品,最后进行小计,能够显示购买内容以及总价,同时会在库存减去商品购买数量。
功能3.查询商品
利用商品序号,能够按类别查询商品库存。
程序模块流程
商品基类
三类商品子类
主程序
界面模块
4种情况分类编写程序
测试内容
- 查询现有商品
- 增添新商品
- 查询是否增添了新商品
- 购买商品
- 检查商品数量是否减少
- 退出
流程图示
1.主界面

2.查询商品,可以查看事先录入的商品清单

3.修改商品

4.再打开商品清单,可以看到一号商品已经改变

5.进行商品购买,流程提示详细

6.保存至txt文件

7.查看数据功能未完善,可以看到会重复返回主菜单

8.退出

二. 改进方向
1.更多函数

可以看到,我原先将很多代码直接写在了主函数里,实际上是鉴于该程序为大作业,这样做便于将其与其他功能函数进行区分,然而在实际工作中,如此大量的代码依旧建议写成函数,我将对其进行改进。


我修改了代码,生成了一个“退出函数“。但进行进一步研究后,发现”case“属于”loop:do“系统,若需进行函数优化,只能将case0进行内部简化成函数。


例如存在大量此类文本显示代码,在第一版开发中,为了解释的详细,不同种类的商品拥有不同的文本显示,这就让我有了新思路,我可以将不同种的商品的文本显示进行统一,然后写成一个通用函数,大大减少了代码复杂度。

优化遇到困难。如果需要修改,修要修改整体代码逻辑,先前大多数代码写在主体函数,所以很少出错,如果要事先优化,需要更高级的代码逻辑,比如增添大量指针。于此,关于代码的函数优化结束。
2.程序模块缺失问题
在上述演示中,可以看到查看数据功能的缺失,并且进行深入研究后,发现存储数据功能功能也并未实现,以上两部分问题都涉及到文件存储,这部分代码由我当时的组员完成,现在发现他并未将其实现,也就意味着该程序无法以代码以外的方法进行数据存储,作为一个购买程序,它是不合格的。
*增

发现可以存储文件,但再打开文件无法读入,存储格式是dat,修改成txt格式打开许多乱码。
3.美化UI及其他拓展
如果文件存储功能完善,该程序就是个最简易版的完整购物程序,那进一步开发就将针对具体问题的功能开发,比如与超市扫码枪的对接、收银员的账号登入、UI的美化。账号登入是好实现的,只需要在loop系统的最前面再加上几层界面,进行账号密码的登入修改等,类似商品购买,大同小异;关于和外设的对接,此类的代码本人尚未学习,并且大概是我目前使用的软件编写环境无法实现;UI的美化,简单的修改,可以在代码中加上一些符号排列,稍微复杂点,需要更改运行环境,devc无此功能,VS大概能用代码实现,最好的例子,是java语言在eclipse中利用代码实现,目前市面上有很多UI设计软件,供开发者更好的进行UI设计。
















