(店铺管理)超市库存货品信息管理系统设计(优质)

上传人:方*** 文档编号:140646818 上传时间:2020-07-31 格式:DOC 页数:55 大小:1.04MB
返回 下载 相关 举报
(店铺管理)超市库存货品信息管理系统设计(优质)_第1页
第1页 / 共55页
(店铺管理)超市库存货品信息管理系统设计(优质)_第2页
第2页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《(店铺管理)超市库存货品信息管理系统设计(优质)》由会员分享,可在线阅读,更多相关《(店铺管理)超市库存货品信息管理系统设计(优质)(55页珍藏版)》请在金锄头文库上搜索。

1、(店铺管理)超市库存货品信息管理系统设计 课 程 设 计 报 告课程名称 C语言程序设计 课 题 超市库存货品信息管理系统 系别 机电工程系 专业班级 计控1101 学生姓名 孙方瑞 学 号 11306013 指导老师 顾建华 任务书下达日期 2013 年 1月 7日任务完成日期 2013年 1 月 11 日课程设计目的和要求 1、目的:a) 巩固和加深学生对C语言课程的基本知识的理解和掌握;b) 掌握C语言编程和程序调试的基本技能;c) 利用C语言进行基本的软件设计;d) 掌握书写程序设计说明文档的能力;e) 提高运用C语言解决实际问题的能力。2、要求:a) 课程设计期间,同学之间可以讨论算

2、法的实现和编程的思路和方法,但每个人必须自己动手编写程序,不得抄袭;b) 写出详细设计说明(程序实现的基本算法思想及流程图);c) 编写程序代码,调试程序使其能正确运行;d) 设计完成后提交课程设计报告;(对于程序中未能实现的部分需要加以解释说明;对于程序中所参考的部分代码需要加以声明,并说明出处。)目录 一,问题定义.1.1问题背景.1.2 用户目标 二,概要设计 2.1 方案确定. 2.2 软件结构 2.3 模块功能说明三,详细设计 3.1 数据设计. 3.2 流程图.四,编码. 4.1 各功能模块编码. 4.2 主程序编码五,调试分析.六,总结.C语言课程设计内容:课题:超市库存货品信息

3、管理系统设计一, 问题定义1.1 问题背景 对于超市库存货品信息管理系统,其数据不仅复杂,量大而且还经常变化,要是采用传统的手工方式采集,不仅工作效率低,容易出错,而且管理也不够规范。由于计算机技术在管理应用领域中的开展,开发此数据库管理系统是十分必要的,并且具有可行性。当然目前超市的数据库系统不是采用C语言,而是采用一些数据库语言开发的,但为了说明C语言也同样可编写数据库软件,故本系统选用C语言作为开发工具。1.2用户目标由计算机来完成超市库存货品信息的管理,要求实现如下功能:建立超市库存货品表列,且可对此表列进行输出,插入,删除,查找,修改,保存等操作。二,概要设计 2.1 方案确定 超市

4、库存货品信息管理系统要求实现许多功能,可遵循前面所学的结构化程序设计思想来进行本系统的设计-自顶向下,逐步细化,也就是将系统软件设计任务分成许多容易解决的小的任务,即分解出许多子功能模块进行设计。 2.2 软件结构本实例中超市库存货品信息管理系统的软件结构如图所示 2.3 模块功能说明 对本系统的功能进行分析后可作如下的模块化设计 输入模块实现功能:能把用户逐一输入的数据添加进表中。 载入模块实现功能:能把磁盘上数据文件载入表中。 输出模块实现功能:能逐一把数据按指定格式输出到屏幕。 查找模块实现功能:能搜索到符合用户指定条件的数据,并将数据输出到屏幕。 插入模块实现功能:能把用户再次输入的数

5、据插入表中。 删除模块实现功能:能把符合用户指定条件的数据从表中删除。 修改模块实现功能:能让用户修改制定的表中数据。 排序模块实现功能:能按照指定的关键字进行排序。 保存模块实现功能:能将数据保存为文件形式,长期保存。 主程序模块实现功能:完成主菜单的显示,及对各模块的调用。三,详细设计 3.1 数据设计 1 数据结构的选择 a,对于各个超市,其规模各不相同,在建立某个超市库存货品的目录时无法预知期货品品种的多少,那么在用数组完成这一设计时,由于数组是在编译时分配内存的,所以其分配的空间大小是不可改变的,当数组的空间定义过小而货品种类很多时,就可能会出现数组很快用完的情况,使得数据量难以扩充

6、,从而就限制了程序的应用能力;若数组的空间定义过大而当下又未被使用时,势必又会造成内存浪费。 b,对于某一个固定的超市,它每天需要进行的货品品种可能不同,因而一定会有新旧货品需要进行增加或删除。在有数组完成数据设计时,在数组中插入,删除一个元素需要移动数组中的大量数据元素,因此操作费时费事。2数据类型的选择 由于本系统是完成本系统超市货品信息系统,货品数据有多个数据项,采用前面学习的结构体类型是最合适不过的。因为一个结构体可包含若干成员,而这些成员可以是数值类型,字符类型,数组类型,指针类型等,因此本系统在数据类型选择上选取结构体类型。设计如下: Typedef struct goods_st

7、ype int num; /* 货品号 */ char name20; /* 货品名 */ int amount; /* 货品量 */GOODS; 3.2 流程图 1,输入模块 输入模块实际上是完成一个用来存储超市货品信息的结构体类型数组的建立。 假设要求如表中的3个货品建立一个表,那么要建立数组来存储货品信息其算法流程图如下。货品号货品名:货品数量(单位)10001童袜125(双)10201童鞋230(双)20100童装180(套) 表1 3个货品信息单列表 开始while(num!=-1)返回n值 输入模块流程图:N 2,载入模块 载入模块将已存入文件中的货品数据信息导出,创建成数组,之后

8、可进行数组的插入,删除,修改,查找,排序等操作。 载入模块算法描述的流程图如下: 载入模块流程图打开文件是否成功? Y输出未找到文件返回i值读入 num name Amount i+ 3,输出模块就是依次输出数组中各货品元素,这个问题比较容易处理。输出数组中第一个元素直至最后一个元素即可。 输出模块算法描述的流程图如下:i=0 输出模块流程图 Y输出numName amount结束4,查找模块 查找模块是指在已知数组中查找值为某指定值的货品元素,查找过程是从数组的第一个元素开始,顺序查找,当发现有指定值得货品元素时,输出查找结果,或查找至数组最后一个元素都没被发现有指定值得货品元素,输出“未找

9、到”,表示数组中每有指定值得货品。查找是常用的一种操作,它常与插入,删除,修改等操作配合使用。 本系统在设计时采用两种查找依据,即可以按“货品号”或“货品名”来分别查找某货品,而在插入模块,删除模块,修改模块和排序模块中,处理方法是相同的,有两种依据。 查找模块算法描述的流程图如下: 查找模块流程图i=n-1Yi-结束5,插入模块 插入模块要完成的是货品表的插入操作,即将一个新货品信息插入到一个已有存储货品信息的数组中。假设对刚刚建立的数组,现有一个新货品(货品号:10301,货品名:童帽,数量:300个)要求插入其中,并要求插入到数组中货品号为“10201”之前,如何完成? 首先新设一个结构

10、体变量ins_goods,输入预插入货品信息,即新货品有关数据,接下来在数组中查找货品号为“10201”的货品,找到后只需移动此货品元素及其之后的所有数组元素即可,数组中的此货品元素及其以后的元素要依次向后移动,虽然效率不高但实现起来简单方便。插入模块也可以设计成插入某货品之后,读者可自己设计。 插入模块算法描述的流程图如下 插入模块流程图开始调用查询模块(货品号查询)Y输入插入货品信息j=k*len+结束6,删除模块 删除模块要完成的是货品的删除操作,此操作也容易,只需删除数组中指定货品即可。接上例,假设现又要求在刚完成插入操作的数组中再删除一个货品,货品号为“10201”。在数组中查找货品

11、号为“10201”的货品,找到后只需要移动此货品元素之后的所有数组元素即可,数组中的此货品元素之后的元素要依次向前移动。 删除模块算法的流程图如下: 删除模块的流程图开始调用查询模块(按货品号查询Yj=k+1Goodlistj-1=goodlistk j+结束7,修改模块 修改模块是指可对已有货品信息进行修改,修改时应先查找到此货品,然后对其修改。 修改模块算法描述的流程图如下 修改模块的流程图开始调用查询模块(按货品号查询)Y输入货品新信息goodlistk.numgoodlistk.namegoodlistk.amount输出无此货品8,排序模块 排序模块是指对已有货品表可按某一个指定(货品名,货品号)对货品进行排序,排序算法可选择已学过的算法进行。 排序模块算法描述的流程图如下; 排序模块流程图i=ok=i jn Yk=ji!=kYi+9,保存模块 保存模块是将最终想要保留的货品数据信息保存于文件中。 保存模块酸发描述的流程图如下:保存模块流程图开始Yi=0将数组中数据依次写入文件结

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号