仓库管理系统说明书Word文件下载.docx

上传人:b****5 文档编号:21677744 上传时间:2023-01-31 格式:DOCX 页数:29 大小:177.94KB
下载 相关 举报
仓库管理系统说明书Word文件下载.docx_第1页
第1页 / 共29页
仓库管理系统说明书Word文件下载.docx_第2页
第2页 / 共29页
仓库管理系统说明书Word文件下载.docx_第3页
第3页 / 共29页
仓库管理系统说明书Word文件下载.docx_第4页
第4页 / 共29页
仓库管理系统说明书Word文件下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

仓库管理系统说明书Word文件下载.docx

《仓库管理系统说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《仓库管理系统说明书Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。

仓库管理系统说明书Word文件下载.docx

intmouth;

intday;

intyear;

};

(2)structcangku

intnum;

/*商品编号*/

charname[20];

/*商品名称*/

charfactor[50];

/*生产厂家*/

charintrodution[50];

/*备注*/

intamount;

/*入库数量*/

intnamount;

/*现存数量*/

intprice/*商品价格*/

structDaterktime;

/*入库时间也是另一结构体类型的成员*/

2.各模块的伪码算法

1.Main()主函数模块,用一个swtich()函数实现各个模块的连接以实现各个功能。

2.Menu_select()菜单函数模块,显示程序的菜单及输入所需的功能选项。

3.Import(Storehouset[])输入函数模块,完成数据的录入功能。

4.SaveRecord(Storehouset[],intn)保存函数模块,程序做每一次对数据的添加,修改,删除之后都会运行一次,把数据写到一个新建的文件中。

5.Load(Storehouset[],intn)加载函数模块,在对数据进行处理之前,运行本函数把已有的数据加载到运存中。

6.DeleteRecord(Storehouset[],intn)删除函数模块,按商品名称删除数据。

7.AlterRecord(Storehouset[],intn)修改函数模块,先if(strcmp(s,t[i].name)==0)按名称查找商品,在修改数据。

8.Search(Storehouset[],intn)查询函数模块,先输入查询方式if(strcmp(s,t[i].name)==0)查找数据。

9.Sort(Storehouset[],intn)排序函数模块,先选择排序方式,用冒泡排序的的方式排序。

10.voidtuichu()退出函数模块,显示退出函数界面。

3.函数的调用关系图

4.调试分析

a、调试中遇到的问题及对问题的解决方法

在实现商品查询功能时,输出乱码。

通过修改输出格式的控制和对printf()的修改解决乱码问题。

定义结构体时入库时间问题,通过在主结构体中定义structDaterktime再定义rktime为年月日解决。

b、算法的时间复杂度和空间复杂度

以最坏情况下的时间复杂度作为算法的时间复杂度。

本程序的最坏情况出现在排序时需要全部移动数据,排序为冒泡排序故时间复杂度为O(n²

)。

算法所需要的储存空间分为三部分:

输入数据所占用的空间,程序代码所占用的空间和辅助变量所占用的空间。

一般以最坏情况下的空间复杂度作为算法的空间复杂度。

空间复杂度为O(n)。

5.测试结果

第一步

按Enter进入主界面

图1

第二步

按1录入一组数据

第三步

按6显示全部记录,显示如下

图2

第四步

按7再按1,按名称排序如下

图3

6.源程序(带注释)

voidSort(Storehouset[],intn)

{charxuanze;

system("

cls"

);

printf("

\n\n请输入排序方式(按4可返回系统管理菜单):

\n1.按名称排序2.按编号排序\

3.按入库时间排序"

\n"

xuanze=getch();

/*从控制台无回显地取一个字符*/

for(;

xuanze!

='

1'

&

2'

3'

4'

;

)/*判断指令是否有效,无效则重新输入*/

if(xuanze=='

)/*按商品名称排序*/

inti,j;

structcangkutemp;

for(j=1;

j<

n;

j++)

for(i=0;

i<

n-j;

i++)

if((strcmp(t[i].name,t[i+1].name))>

0)

temp=t[i];

t[i]=t[i+1];

t[i+1]=temp;

}

排序成功!

!

排序后仓库信息列表如下:

List(t,n);

/*按商品编号排序*/

if(t[i].num>

t[i+1].num)

if(xuanze=='

/*按入库时间排序*/

if(t[i].rktime.year>

t[i+1].rktime.year)

elseif(t[i].rktime.year==t[i+1].rktime.year)

{if(t[i].rktime.month>

t[i+1].rktime.month)

elseif(t[i].rktime.month==t[i+1].rktime.month)

{if(t[i].rktime.day>

t[i+1].rktime.day)

/*返回系统管理菜单*/

Menu_select();

总结

本系统通过在main主函数中使用switch结构,把各个子函数连接起来,形成鲜明的结构;

增加了密码登录模块,更有效的保护信息安全;

数据的录入采用结构体的形式,使数据录入、显示更加规范化;

主界面通过菜单函数显示所有的功能,使界面简洁紧凑,功能一目了然,通过菜单函数的十个选项,选择不同的功能实现所要进行的操作;

各个功能的设计比较严谨,使用过程方便快捷,可以更加准确快速的进行仓库信息的管理和存储;

独特的系统使整个结构清晰明了;

该程序设计小巧,便于使用和推广。

程序简便易操作,每个函数都有各自不同的功能,使得仓库信息管理管理系统更加细致全面。

我通过学习C语言程序设计和算法与数据结构,对C语言的基本概念和算法与数据结构也有了一定的了解,平时虽然也做过一些练习,也看了不少程序从而掌握一定的语法知识和编程经验。

但是对于有些功能强大的软件还是没有尝试过能否编得起来。

所以决定在所学知识的基础上,再加以拓展,编个主题明确、具有一定使用价值的中小程序,提高了自身的编程水平与上机调试技能。

通过这三星期的实习,我得到了很大的收获。

参考文献

[1]严蔚敏,吴伟民.《数据结构(C语言版)》.清华大学出版社.2007)

[2]张永,李睿,年福忠.《算法与数据结构》.国防工业出版社.2009)

[3]王连相,赵付青.《C/C++程序设计教程》.中国铁道出版社.2011)

[3]谭浩强.《c语言程序设计》.清华大学出版社.2008)

致谢

附件Ⅰ任务一源程序代码

#include<

stdio.h>

stdlib.h>

string.h>

conio.h>

structDate

intmonth;

structcangku

intprice;

typedefstructcangkuStorehouse;

intImport(Storehouset[]);

voidList(Storehouset[],intn);

voidSearch(Storehouset[],intn);

intDeleteRecord(Storehouset[],intn);

intAddRecord(Storehouset[],intn);

intchuku(Storehouset[],intn);

voidSort(Storehouset[],intn);

voidSaveRecord(Storehouset[],intn);

intLoadRecord(Storehouset[]);

intLoadRecord1(Storehouset[]);

voidSave(Storehouset[],intn);

voidLoad(Storehouset[],intn);

voidLoad1(Storehouset[]);

intMenu_select();

voidtuichu();

voidmain()

Storehouseck[50];

intlength,w=1;

while(w)

switch(Menu_select())

case1:

length=Import(ck);

SaveRecord(ck,length);

break;

case2:

length=LoadRecord(ck);

Search(ck,length);

case3:

length=DeleteRecord(ck,length);

case4:

length=chuku(ck,length);

case5:

length=AddRecord(ck,length);

case6:

List(ck,length);

case7:

Sort(ck,length);

case8:

Save(ck,length);

case9:

length=LoadRecord1(ck);

Load1(ck);

Load(ck,length);

case0:

tuichu();

intMenu_select()

intc;

按Enter键进入仓库管理菜单\n"

getchar();

modeconcols=80lines=20&

color17"

\n\n"

══════════════════════════════════"

"

欢迎进入仓库产品管理系统"

1.录入仓库初始记录2.商品查询"

3.删除商品记录4.商品出库"

5.增加商品信息6.显示全部记录"

7.商品排序8.备份"

9.恢复0.退出"

╭⌒╮⌒╮∵∴."

╱◥██◣'

⌒╮∵∴"

│田│田田│∴∴"

╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬"

do

\n输入您想要进行的操作选项键(0-9):

"

if(scanf("

%d"

&

c)!

=1)

while(getchar()!

\n'

continue;

while(c<

0||c>

9);

returnc;

intImport(Storehouset[])

inti,n;

\n请输入要输入的商品数目:

scanf("

n);

开始输入仓库信息:

\n第%d个商品的编号:

i+1);

t[i].num);

第%d个商品的名称:

%s"

t[i].name);

第%d个商品价格:

t[i].price);

第%d个生产厂家:

t[i].factor);

第%d个商品的入库时间:

%d%d%d"

t[i].rktime.year,&

t[i].rktime.month,&

t[i].rktime.day);

第%d个商品的入库数量:

scanf("

t[i].amount);

第%d个商品的现存数量:

t[i].namount);

第%d个商品备注:

t[i].introdution);

return(n);

voidList(Storehouset[],intn)

inti;

**************************************************************************\n"

编号名称价格生产厂家入库时间入库数量现存数量备注\n"

--------------------------------------------------------------------------\n"

%-5d%-10s%-7d%-13s%-5d%-3d%-7d%-10d%-8d%-7s\n"

t[i].num,t[i].name,t[i].price,t[i].factor,\

t[i].rktime.year,t[i].rktime.month,t[i].rktime.day,t[i].amount,t[i].namount,t[i].introdution);

//

voidSearch(Storehouset[],intn)

charxuanze;

chars[20],ch[20];

intb,m,d,y,i,flag=0;

\n\n请输入查询方式(按5可返回系统管理菜单):

\n1.通过编号查询2.通过名称查询\n"

\n3.通过生产厂家查询4.通过入库时间查询\n"

\n5.返回菜单选项\n"

5'

/*判断指令是否有效,无效则重新输入*/

\n请输入物品编号:

b);

if(b==t[i].num)

flag=1;

\n\n要查找的商品信息如下:

printf("

}

if(flag==0)

要查找的商品不存在!

\n请输入要查找的商品名称:

s);

if(strcmp(s,t[i].name)==0)/*将两个字符串进行比较*/

\n请输入要查找的生产厂家:

ch);

if(strcmp(ch,t[i].factor)==0)

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

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1