基于C语言的小型超市库存与销售管理系统

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/demongwc/article/details/84928532

1 需求分析

1.1 登陆

管理员和售货员可通过各自的账号、密码分别进入管理员和售货员的子系统。对于输入不在系统所存储的账号或输入的账号密码不匹配时,要求用户重新输入。

1.2 用户管理

管理员用户可浏览系统内所有的用户的账号、密码、权限类别,可添加用户,可删除用户。

1.3 库存管理

管理员可手动添加商品,也可从文件中批量导入商品,可查看库存内的全部商品信息,对于库存内商品数为0的商品可进行批量清理。

1.4 查询商品

管理员和售货员可通过商品名称、商品生产商、名称和生产商的方式查询商品信息。管理员可获取全部商品信息(商品ID、商品名称、进价、售价、生产厂商、余量),售货员可获取出进价以外的商品信息。查询可支持模糊查找、仅输入前缀。

1.5 销售商品

管理员和售货员可对库存内商品进行销售,对销售请求进行检查,销售后对库存相应商品的余量进行更新,同时记录销售的商品信息、销售时间,更新销售记录数据文件。

1.6 销售统计

管理员可浏览某天的或日期区间内的所有销售记录,可对指定日期区间内的销售记录进行综合统计,统计每种商品的销量、收入,统计总收入,可通过销量、销售额筛选统计结果。

2 概要设计

2.1 数据结构

单个商品数据用Goods结构体存储,多个商品用链表存储。

  1. typedef struct
  2. {
  3. int id;
  4. char name[MAXGOODSNAME];
  5. double buying_price;
  6. double selling_price;
  7. char manufacturer[MAXMANUFACTURERNAME];
  8. int quantity;
  9. } Goods;
  10.  
  11. typedef struct GoodsListNode *GoodsList;
  12. struct GoodsListNode
  13. {
  14. Goods goods;
  15. GoodsList next;
  16. };

单个销售数据用SoldGoodsRecord结构体存储,多个销售数据用链表存储。

点击此处下载文档和源码

猜你喜欢

转载自blog.csdn.net/demongwc/article/details/84928532