仓库管理系统课程设计.doc
课程名称数据结构设计题目运动会分数统计完成日期设计题目:库房管理系统设计内容与要求:【设计内容】为库房设计一个库房管理系统,记录储存货物的编号、名称、数量。而且可以随时进行出货和领料操作、可随时查看货物信息.【基本要求】能用文件保存库房货品信息;指导班主任:__**成绩:指导班主任:____**、问题描述构建一个库房管理程序,可以按次序和货物名称查询库房储存情况,也可以降低或删掉货物信息、实现货物的入库领料,要求能用文件保存库房货品信息。2、基本要求(1)、数据要求数据的储存结构自行设计.4)库房货物的相关数据要储存在数据文件中。(2)、操作要求构建一个库房管理程序,可以按次序和货物名称查询库房储存情况,也可以降低或删掉货物信息、实现货物的入库领料,要求能用文件保存库房货品信息。(3)、测试数据要求测试数据要求使用:1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定.(4)、界面要求有合理的提示,每位功能可以筹建菜单,按照提示,能完成相关的功能操作并符合要求。(5)、存储结构要求中学生自己按照系统功能要求自己设计,并且要求库房货物的相关数据要储存在数据文件中。
(数据文件的数据读写方式等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的储存结构.3、数据结构(1)、定义货物数据类型定义货物数据类型单向数组,用于储存货物的信息,包括货物名称,数目,编号等信息。;//货物编号[max];//货物名称;//货物数目*prior,*next;},*;4、总体设计依照库房管理系统的剖析及设计要求,可以将此系统分为四个模块:信息统计模块、信息排序输出模块、信息查询模块、信息调用模块.(1)、信息统计模块实现信息的输入、统计,涉及函数有:()、(2)、信息输出模块实现信息的输出,涉及函数有:()、()()()(3)、信息查询模块实现信息的查询,涉及函数有:(4)、信息调用模块实现信息的调用,即从文件中读出信息并输出、保存信息,涉及函数有:(),()主函数与各函数调用关系流程图、结布光:信息排序输出模块流程图信息查询模块流程图5、详细设计(1)、货物入库功能()、()是信息输入、双数组初始化函数,可以按用户执意输入信息、包括货物的名称编号和数目.其主要功能流程图如下:开始信息查询界面选择查询方法主菜单信息输入模块信息输出模块信息查询模块信息调用模块库房管理系统开始总分显示菜单界面主菜单输入功能序号(2)、货物领料功能()、()两个函数分别可实现通过名称查找领料和通过编号查找领料其主要功能流程图如下:(3)、货物查询功能()()函数是一个信息查询函数及查询菜单函数,显示一个查询菜单,借助句子实现按货物编号查询和按名称查询,借助循环句子do…while()返回查询菜单,break句子中止循环。
其主要功能流程如下:(4)、信息保存及读取()、()这两个函数分别实现信息保存到文件以及开始输入名称或编号货物是否存在货物领料结束输入查询的货物编号货物是否存在输出信息循环查找输入名称、编号、数量合法?从文件中读取信息的功能.把信息保存到文件中以及读取保存在文件里的信息并输出。因为采用的是链式储存,可以很便捷的一下把文件里的信息全部读取下来,再依次创建生成双数组,将信息全部读到两个双数组中储存。其主要功能流程图如下:6、测试与调试1、输出界面运行程序,步入主菜单界面,用户可以选择货物入库领料、加载货物信息、信息查询、保存信息到文件、从文件中读入信息、退出系统等操作选项.为了防止再度输入大量信息,可以先选择从文件中读入信息,将先前输入的信息重新显示在屏幕上,再进行后续操作.主菜单界面如图所示:(1)、货物的入库依照程序引导输入货物信息输入苹果、橘子、馒头各10(2)、输出所有货物信息信息在主菜单输入3步入货物查看界面,所有货物信息如右图显示所示:(3)、货物领料在主菜单中输入1进行货物领料选择按名称领料输出领料结果选择按编号领料输出领料结果数据写入文件关掉文件(4)、查询信息输入步入信息查询界面,用户可依照自己喜好选择按货物编号查询、按货物名称查询或则退出返回主菜单.信息查询界面如图所示:用户可依照自己喜好选择按哪种方法查询,查询结束后仓库管理系统流程图,按任意键返回信息查询界面。
输入3则返回主菜单.以下是分别根据货物编号、货物名称查询的情况。按货物编号查询情况:按货物名称查询:(5)、调用信息为了防止每次运行程序时都要输入大量数据,在第一次运行程序后,就早已将信息手动存档,再度运行时,可以先直接调用信息,按任意键返回主菜单,再进行后续操作.调用的信息如图所示:显示文件中读取的信息如图所示:(6)退出系统输入0则退出系统,并保存信息。如图所示:3、调试剖析运行程序,步入主菜单界面,用户可以按照编号选择测试数据:选择1号功能步入输入信息模块,按照提示信息将以下信息输入系统中。名称:苹果.编号:1。数目:10名称:香蕉.编号:2。数目:10名称:包子.编号:3.数目:10存在问题的思索及算法的改进构想:语言里的()函数在VC++里虽然不能用,上网查了下资料,找到了一个头文件为。h调试程序时,遇见了屏幕一闪又回到原先界面的情况,没有输出想要得到的信息,原先是信息在屏幕上显示后,程序执行到了清屏函数,所以立刻清屏了,为了见到输出信息,调用(”pause”)函数,使程序暂停,以让用户听到输出地信息,之后再按任意键继续执行程序.函数不是很会用,在读出文件里的信息并输出时花了很长时间,不过仓库管理系统流程图,最后终于是会用了。
4、设计总结本次课程设计是围绕数据结构进行。依照问题描述可知,须要解决问题并不复杂,整个问题只须要实现一个职工管理系统功能,那就是在这个系统中实现对员工信息的插入、删除、查询、排序、修改。并且,为了实现该功能,却须要一定的算法和数据结构以保证实现的时间和空间效率。把员工信息储存在一个单数组中,借助表针实现对员工信息的各项基本操作。经过这次数据结构课程设计,我们除了及时巩固的了数据结构、算法、以及软件工程的知识,并明白数据结构和算法对于程序时间和空间性能的影响,及软件工程提供的开发流程和工具对于实现特定功能程序的重要意义。当我们面对一个实际问题,应当迅速按照问题性质和特征具象成特定的数据结构,其实每位问题都有可能还能具象成多种数据结构,每种数据结构适应于不同的算法。因而应当综合考虑这样的数据结构、算法以及它们的空间和时间效率,之后从中选择一个作为实现程序的基础。据悉,对程序的测试应当要仔细,按照模块的特征和测试阶段,采用各类软件测试方式对程序进行测试,确保各个模块的正确性和完整性,最后集成上去测试其是否正确和完整地实现了问题描述中要求的功能。7、源程序清单源代码:#〈stdio。
h〉#〈。h〉#.h〉#OK##20dnode;charName[max];int;*prior,*next;},*;intMenu();(”cls”);(”\t\t『欢迎步入库房管理系统!』("\t\t——1、货物的入库和领料;(”\t\t-—2、加载货物信息;