【超市购物系统】——二次开发与思考

Posted on 2021-03-09 09:42  YandD  阅读(208)  评论(0)    收藏  举报

针对我于大一下编写的“超市购物系统”,我进行以下介绍及二次开发的拓展功能。

一. 程序介绍

功能1.修改商品信息

我尽量做到界面简洁,功能齐全易懂,修改信息这块功能实则包含增添新商品和删除就商品等内容,考虑到此类功能相似,故将其归为一类,界面易懂,操作简单。

功能2.购买商品

采用商品序号购买商品,最后进行小计,能够显示购买内容以及总价,同时会在库存减去商品购买数量。

功能3.查询商品

利用商品序号,能够按类别查询商品库存。

程序模块流程

商品基类

三类商品子类

主程序

界面模块

4种情况分类编写程序

测试内容
  1. 查询现有商品
  2. 增添新商品
  3. 查询是否增添了新商品
  4. 购买商品
  5. 检查商品数量是否减少
  6. 退出
流程图示

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设计。