"C语言仓库管理系统设计与实现:数据结构与算法应用案例"

0 下载量 96 浏览量 更新于2024-03-23 收藏 47KB DOC 举报
本次C语言课程设计的仓库管理系统包含了以下功能: 1. 结构体定义: 仓库管理系统中定义了一个结构体Cangku,包含int型num成员、两个char型数组name、introduction和一个float型成员square。同时通过typedef定义了Cangku类型。 2. 输入数据: Input函数用于输入仓库信息,通过传入Cangku类型的数组t实现。 3. 列出数据: List函数可以列出所有仓库的信息,通过传入Cangku类型的数组t和仓库数量n实现。 4. 搜索数据: SearchOnName函数用于根据仓库名称进行搜索,通过传入Cangku类型的数组t和仓库数量n实现。 5. 删除数据: DeleteRecord函数可以删除指定仓库的信息,通过传入Cangku类型的数组t和仓库数量n实现。 6. 修改数据: AlterRecord函数可以修改指定仓库的信息,通过传入Cangku类型的数组t和仓库数量n实现。 7. 添加数据: AddRecord函数用于添加新的仓库信息,通过传入Cangku类型的数组t和仓库数量n实现。 8. 按名称排序: SortOnName函数可以按照仓库名称进行排序,通过传入Cangku类型的数组t和仓库数量n实现。 9. 按面积排序: SortOnSquare函数可以按照仓库面积进行排序,通过传入Cangku类型的数组t和仓库数量n实现。 10. 保存数据: SaveRecord函数可以保存仓库信息到文件中,通过传入Cangku类型的数组t和仓库数量n实现。 11. 加载数据: LoadRecord函数可以从文件中加载仓库信息,通过传入Cangku类型的数组t实现。 12. 其他功能: 系统还提供了LoadRecord1函数用于加载其他格式的文件,以及主函数中的一些调用示例。 总体而言,该仓库管理系统具有完整的数据管理功能,能够实现对仓库信息的输入、输出、搜索、删除、修改、添加、排序,同时支持数据的存储和加载。通过这个系统的设计,可以更加方便有效地管理仓库信息,提高工作效率。
2023-05-30 上传
课 程 设 计 报 告 课程名称 数据结构 设计题目 运动会分数统计 专 业 计算机科学与技术 班 级 学 号 姓 名 完成日期 _________2012年6月8日_____________ "课 程 设 计 任 务 书 " "设计题目: 仓库管理系统 " "设计内容与要求: " " " " " "【设计内容】 " "为仓库设计一个仓库管理系统,记录存储货物的编号、名称、数量。并且可以" "随时进行出货和出库操作、可随时查看货物信息。 " " " " " "【基本要求】 " " " "1) 建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况; " " " " " "2) 可以增加或删除货物; " " " " " "3) 可以实现货物的入库出库; " " " " " "4) 能用文件保存仓库货品信息; " " " " " " " " " "指导教师:____ ____ " "2012年 6月 8日 " " " " " "课 程 设 计 评 语 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "成绩: " "指导教师:_______________ " "年 月 日 " 1、问题描述 建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加或删 除货物信息、实现货物的入库出库,要求能用文件保存仓库货品信息。 2、基本要求 (1)、数据要求 1) 建议输入货物的名称,编号,数量等,其余信息学生自行设计; 2) 输出形式:有合理的提示,编号,名称,数量对应; 3) 数据的存储结构自行设计。 4)仓库货物的相关数据要存储在数据文件中。 (2)、操作要求 建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加或删除 货物信息、实现货物的入库出库,要求能用文件保存仓库货品信息。 (3)、测试数据要求 测试数据要求使用: 1、全部合法数据; 2、整体非法数据; 3、局部非法数据。进行程序测试,以保证程序的稳定。 (4)、界面要求 有合理的提示,每个功能可以设立菜单,根据提示,能完成相关的功能操作并符合要 求。 (5)、存储结构要求 学生自己根据系统功能要求自己设计,但是要求仓库货物的相关数据要存储在数据文 件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请 在最后的上交资料中指明你用到的存储结构。 3、数据结构 (1)、定义货物数据类型 定义货物数据类型双向链表,用于存放货物的信息,包括货物名称,数量,编号等 信息。 typedef struct dnode { int Number; //货物编号 char Name[max]; //货物名称 int Counter; //货物数量 struct dnode *prior,*next; }dlnode,*dlinklist; 4、总体设计 根据仓库管理系统的分析及设计要求,可以将此系统分为四个模块:信息统计模块、信 息排序输出模块、信息查询模块、信息调用模块。 (1)、信息统计模块实现信息的输入、统计,涉及函数有:void Input()、 (2)、信息输出模块实现信息的输出,涉及函数有:void OutputByName()、void OutputByNum()void init_linklist()void Show() (3)、信息查询模块实现信息的查询,涉及函数有: (4)、信息调用模块实现信息的调用,即从文件中读出信息并输出、保存信息,涉及函 数有:void Load(),void Save() 主函数与各函数调用关系流程图、结构图: 信息排序输出模块流程图 信息查询模块流程图 5、详细设计 (1)、货物入库功能 void Input()、void InitList()是信息输入、双链表初始化函数,可以按用户执意输入信息 、包括货物的名称编号和数量。 其主要功能流程图如下: (2)、货物出库功能 void OutputByName()、void OutputByNum()两个函数 分别可实现通过名称查找出库和通过编号查找出库 其主要功能流程图如下: (3)、货物查询功能 ()void Show() 函数是一个信息查询函数及查询菜单函数,显示一个查询菜单,利用switch语句实现按 货物编号查询和按名称查询,利用循环语句do…while()返回查询菜单,break语句终止循 环。 其主要功能流程如下: (4)、信息保存及读取 void save()、void ReadInfo()这两个函数分别实现信息保存到文件以及从文件中读取信息的功能。把信息 保存到文件中以及读取保存在文件里的信息并输出。由于采用的是链式存储,可以很方 便的一下把文件里的信息全部读