收藏 分享(赏)

商品管理系统设计说明书.doc

上传人:精品资料 文档编号:10736638 上传时间:2020-01-03 格式:DOC 页数:37 大小:223.17KB
下载 相关 举报
商品管理系统设计说明书.doc_第1页
第1页 / 共37页
商品管理系统设计说明书.doc_第2页
第2页 / 共37页
商品管理系统设计说明书.doc_第3页
第3页 / 共37页
商品管理系统设计说明书.doc_第4页
第4页 / 共37页
商品管理系统设计说明书.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、1算法与数据结构课程设计说明书课题:商品管理系统学院:计算机与通信学院班级:软件工程二班姓名:吕少伟学号:1516270251指导老师:包仲贤2时间:2017.01.12目录摘 要 3序 言 4算 法 描 述 4流 程 图 : 7调试分析:8输 出 典 型 数 据 9源 代 码 15涉 及 总 结 30参 考 文 献 313摘要随着社会经济的迅速发展和科学技术的全面进步,以计算机与商店管理技术为基础的管理系统正处于蓬勃发展的时期。仓库这个4名词,已经不能用货物贮存地来概括,它现在是一个分销中心(Distribution Center),完成的任务更全面。过去,人们不明白这条渠道利益。到了今天,

2、企业间的竞争更加激烈了,因此仓库管理成了供应链管理当中不可或缺的一环。在这样的发展形式下,经过系统的分析与调研,完成了本系统。 系统中主要分为两种操作权限,一种为超级管理员权限,另一种为普通用户权限。主要功能包括对货物的入库、出库、借出、盘点的相应操作;查询库存、入库、出库、借出、归还的货物数量;对货物月出入库数量与年出入库数量进行统计;对供应商、用户、货物信息进行相应的设置;打印库存信息和货物的出库信息以及用户系统权限的管理。超级管理员可以完成所有的操作,而普通用户只能完成查询统计与修改密码的。本课题是一个适应现今仓库管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值关键词:库存

3、;货物;入库;商店 5序言 面对信息爆炸的今天,对库存管理人员来说,工作量正日趋繁琐,因此有一个好的管理系统,就显得非常的必要。 库存管理所涉及的范围广泛。但是,最基本的入库、出库的操作,在以前的管理系统中,都会体现。过去,人们的管理理念没有完善,并且经验不够,因此是在摸索中成长。可是当今社会,如果还继承以前的东西,而没有更新或创新的部分,那么是不能适应当今这个大趋势的发展的。现在,一个最明显的变化是仓库不再被看作仅仅是一个货物贮存地,以前人们把货物管理看的很单调。最近出现了很多新的管理模式,如:基于零库存思想的沃尔玛管理方式。这些新的思想在中国的企业中普及只是个时间问题。库存管理的意义重大,

4、不容忽视,基于如此设计了这个系统算法(数据结构)描述5.1 先定义一个商品的结构体数组:typedef struct /*定义结构体数组*/ char name20;/*商品名称*/int time;/*进货时间*/int year;/*生产日期*/6int no;/*保质期*/goods;5.2 建立一个菜单函数,显示 10 个功能,供用户选择,进行人机对话。5.3 设置一个排序的函数,void Sort_by_time(goods gs,int n)。利用冒泡法先对商品按进货的时间排序,对进货时间一样的货物,再按离保质期最近排序。 5.4 设置一个输入的函数,int Input(goods

5、 gs,int n)。这个函数是最初商品输入函数,当选择了这个功能后,如果是第一次运行这个程序,保存输入,那将在 D 盘产生一个名为“商品.doc”的文件,如果已经运行过了,并保存输入,那输入的商品信息将代替原有的信息,数据输入使用交互输入,进行人机对话,确定是否进行下一个数据的添加。并且调用了上面的排序函数,对输入的数据进行排序。5.5 设置一个显示的函数,void Display(goods gs,int n)。显示上面输入的所有数据,或者是从文件中读取的数据。5.6 设置一个插入的函数,int Insert_a_record(goods gs,int n)。每次插入一组数据,如果要再插入

6、,则再选择这个功能进行操作。并且在插入的同时,已经排好序,把数据插入适合的位置。75.7 设置一个查找删除的函数,int Delete_a_record(goods gs,int n)。输入要查找的商品名称,如果不存在,则输出失败信息,如果存在,则用下一个信息代替原有信息的位置。5.8 设置一个查找显示的函数,void Query_a_record(goods gs,int n)。输入要查找的商品名称,如果不存在,则输出失败信息,如果存在,则显示信息。5.9 设置一个写入文件的函数,void WritetoText(goods gs,int n)。设置文件指针,先判断文件是否能打开并且能进行写

7、操作,不能则输出失败信息,能则循环写入数据,写完关闭文件。5.10 设置一个读文件的函数,int AddfromText(goods gs,int n)。设置文件指针,判断文件是否能打开而且能进行读操作,能则先读出总的数据量,接着循环读出数据,最后关闭文件。5.11 进入最后一步,main 函数。判断选择的操作,根据用户选择的操作,利用 switch 语句进行相应的函数调用。5.12 选择保存功能,对数据进行保存,然后选择结束程序退出功能,退出程序。Sort_by_time(gs,n)初始条件:数据已经存在操作结果:数据进行排序8Input(gs, n)初始条件:没有任何数据存在,或者要替换原

8、文件中的所有数据操作结果:数据进行输入Display(gs,n)初始条件:数据已经存在操作结果:数据显示Insert_a_record(gs,n) 初始条件:数据已经存在操作结果:数据插入Delete_a_record(gs,n)初始条件:数据已经存在操作结果:数据删除Query_a_record(gs,n)初始条件:数据已经存在操作结果:数据统计WritetoText(gs,n)初始条件:数据已经存在9操作结果:写入文件中AddfromText(gs,n)初始条件:文件已经存在操作结果:从文件中读出流程图:调试分析:a、调试中遇到的问题及对问题的解决方法;1.在商品的排序方面,指针指向错误。

9、解决方案:利用画图理清指针的指向,并改正2.写入文件,当文件不存在数无法写入解决方案:当文件不存在时,创建一个文本去存取信息;3.查找信息,当信息不存在时,程序没有反应解决方案:当所搜寻的信息不存在时,返回查找失败;4.VS 运行程序时,出现 scanf 不安全问题解决方案:在项目属性中的预处理器中加入一串代码;b、算法的时间复杂度和空间复杂度;算法的时间复杂度为:O(n3)空间复杂度:17010输出典型数据界面:11显示功能,显示最初的数据:插入功能:12删除功能:13查找商品信息:14统计并显示进货时间最早且最接近保质期中止时间的货物:写入文件:15读取文件:对读入文件进行排序:16获得测

10、试结果:源程序#include /*引用库函数*/ 17#include #include #include typedef struct /*定义结构体数组*/char name20;/*商品名称*/int time;/*进货时间*/int year;/*生产日期*/int no;/*保质期*/goods;goods gs80; /*结构体数组变量*/int menu_select() /*菜单函数*/char c;dosystem(“cls“); /*运行前清屏*/18printf(“* 商品系统*n“); /*菜单选择*/printf(“ | 1. 输入数据 |n“);printf(“

11、| 2. 显示数据 |n“);printf(“ | 3. 插入数据 |n“);printf(“ | 4. 删除数据 |n“);printf(“ | 5. 查找数据 |n“);printf(“ | 6. 统计并显示进货时间最早且最接近保质期中止时间的货物 |n“);printf(“ | 7. 写入文件 |n“);printf(“ | 8. 读文件 |n“);printf(“ | 9. 对读入的文件进行排序 |n“);printf(“ | 0. 退出 |n“);printf(“*n“);printf(“请选择(0-9):“);c = getchar(); /*读入选择*/19 while (c9)

12、;return(c - 0); /*返回选择*/void Sort_by_time(goods gs, int n) /*按进货时间排序*/int i, j, *a, *b, c, *p, *q, s, *m, *k, d, e, f;char t10;for (i = 0; igsj + 1.time)a = b = c = *a;20*a = *b;*b = c;strcpy(t, gsj + 1.name);strcpy(gsj + 1.name, gsj.name);strcpy(gsj.name, t);p = q = s = *p;*p = *q;*q = s;m = k = d

13、= *m;*m = *k;*k = d;else if (gsj.time = gsj + 1.time)21p = a = b = q = e = (*p) + (*b) * 10000;f = (*a) + (*q) * 10000;if (ef)a = b = c = *a;*a = *b;*b = c;strcpy(t, gsj + 1.name);strcpy(gsj + 1.name, gsj.name);strcpy(gsj.name, t);22p = q = s = *p;*p = *q;*q = s;m = k = d = *m;*m = *k;*k = d;int Inp

14、ut(goods gs, int n) /*输入若干条记录*/23int i = 0;char sign=0, x10;while (sign != n /*交互输入*/scanf(“%s“, gsn + i.name);printf(“进货时间(例 20070201):“);scanf(“%d“, printf(“生产日期(例 20070201):“);scanf(“%d“, printf(“保质期(年):“);scanf(“%d“, gets(x); /*清除多余的输入*/printf(“继续输入?(Y/N)“);scanf(“%c“, /*输入判断*/i+;24Sort_by_time(

15、gs, n + i); /*调用排序函数*/return(n + i);void Display(goods gs, int n) /*显示所有记录*/int i;printf(“-n“); /*格式头*/printf(“商品名称 进货时间 生产日期 保质期(年)n“);printf(“-n“);for (i = 1; i1 /*格式*/system(“pause“);printf(“-n“);system(“pause“); /*按任何键继续*/int Insert_a_record(goods gs, int n) /*插入一条记录*/26char x10; /*清除多余输入所用*/pri

16、ntf(“商品名称:“); /*交互输入*/scanf(“%s“, gsn.name);printf(“进货时间:“);scanf(“%d“, printf(“生产日期:“);scanf(“%d“, printf(“保质期:“);scanf(“%d“, gets(x);n+;Sort_by_time(gs, n); /*调用排序函数*/printf(“插入成功!n“); /*返回成功信息*/return(n);int Delete_a_record(goods gs, int n) /*按商27品名字查找,删除一条记录*/char s20;int i = 0, j;printf(“商品名称:“

17、);scanf(“%s“, s);while (strcmp(gsi.name, s) != 0 /*查找判断*/if (i = n)printf(“没找到!n“); /*返回失败信息*/return(n);for (j = i; jn - 1; j+) /*删除操作*/strcpy(gsj.name, gsj + 1.name);gsj.time = gsj + 1.time;28gsj.year = gsj + 1.year;gsj.no = gsj + 1.no;printf(“删除成功!n“); /*返回成功信息*/return(n - 1);void Query_a_record(g

18、oods gs, int n) /*查找并显示一个记录*/char s20;int i = 0;printf(“输入要查找的商品名称:“);scanf(“%s“, s);while (strcmp(gsi.name, s) != 0 /*查找判断*/if (i = n)29printf(“没找到!n“); /*输入失败信息*/return;printf(“进贷时间:%dn“, gsi.time); /*输出该商品信息*/printf(“生产日期:%dn“, gsi.year);printf(“保质期:%dn“, gsi.no);void WritetoText(goods gs, int n)

19、 /*将所有记录写入文件*/int i = 0;FILE *fp; /*定义文件指针*/if (fp = fopen(“d:商品.doc“, “wb“) = 30NULL) /*打开文件*/printf(“cannt open the filen“);system(“pause“);return;fprintf(fp, “%dn“, n); /*循环写入数据*/while (in)fprintf(fp, “%-5s%d %d %dn“, gsi.name, gsi.time, gsi.year, gsi.no);i+;fclose(fp); /*关闭文件*/printf(“Successed!n“); /*返回成功信息*/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报