链表的维护与文件形式的保存
以有序链表结构表示某家电商场的库存模型。提/进货时,需对链表进行维护。每个工作日结束后,应将该链表以文件形式保存;每日营业前,应从文件中恢复该有序链表结构。
1、数据结构设计
①数据域
家电名称、产家品牌、条形码、单价、数量、进货渠道、经办人…… (参考超市收银台、库存、采购管理)
②文件结构
单文件:库存文件
多文件:(每日)库存文件;(每日)日志文件;
产品名目文件(产品编码的设计);
用户权限文件。
2、功能设计
①系统文件初始化
创建一系列空数据的文件。
②每日启动
读文件,建多个链表
③进货
一条记录同时插入多个链表
④提货、卖货
不仅删除记录,也要添加记录。
⑤统计功能
⑥查询
查询范围分类:单个库存/金额、全部库存/金额;
查询时段分类:当前查询、历史查询
查询方式分类:多种方式查询、自定义组合查询
⑦下班存盘
遍历多个链表,写多个文件
⑧菜单设计
3、技术讨论
①文件有序/无序的选择?
影响读文件建链表的效率
②文本文件/二进制文件的选择?
fwrite,fread,fscanf,fprintf
③数据一致性的保证?
单文件:一类产品对应一条记录
多文件:"库存文件"中的编码对应"产品名目文件"中的编码
④多文件下,如何保证写记录的完整性?
如何验证当前文件集是合法的?如何出错处理?
⑤若今日库存文件损坏,如何根据日志文件,恢复系统?