仓库管理系统设计说明书Word下载.docx

上传人:b****4 文档编号:17113894 上传时间:2022-11-28 格式:DOCX 页数:51 大小:123.53KB
下载 相关 举报
仓库管理系统设计说明书Word下载.docx_第1页
第1页 / 共51页
仓库管理系统设计说明书Word下载.docx_第2页
第2页 / 共51页
仓库管理系统设计说明书Word下载.docx_第3页
第3页 / 共51页
仓库管理系统设计说明书Word下载.docx_第4页
第4页 / 共51页
仓库管理系统设计说明书Word下载.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

仓库管理系统设计说明书Word下载.docx

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

仓库管理系统设计说明书Word下载.docx

+打开仓库openstore()

+添加货物addproduct()

+修改货物editproduct()

+删除货物delproduct()

+库存管理menu_store()

-货物出库instore()

-货物进库outstore()

+货物查询menu_check()

+按编号查询bynumber()

+按名称查询byname()

+储存数据savedata()

+所有货物listall()

+退出系统exit()

1.2数据设计

商品结构体设计:

structProduct

{

intnum;

charname[20];

floatprice;

intamount;

charfac[50];

charbuss[50];

struct*next;

};

2各模块的伪码算法:

2.1菜单类:

menu_init();

说明:

初始化界面

menu_store();

库存管理界面

menu_check();

说明:

货物查询界面

menuexit();

退出界面

2.2货物管理类:

addproduct(structProduct*head);

structProduct*head为要添加节点的链表

功能:

添加货物

流程图:

editproduct(structProduct*head);

structProduct*head为要修改节点的链表

修改货物

delproduct(structProduct*head);

删除货物

instore(structProduct*head);

outstore(structProduct*head);

outinstore(structProduct*head,intouin);

出库进库综合操作类

2.3货物查询类:

bynumber(structProduct*head,intnum);

structProduct*head为要修改节点的链表,num为商品编号

按编号查询商品

byname(structProduct*head,char*name);

structProduct*head为要修改节点的链表,name为商品名称

按名称查询商品

listall(structProduct*head);

structProduct*head为要显示链表

显示所有商品

2.4仓库管理类

openstore();

打开仓库数据文件到链表

打开仓库文件

NS流程图:

savedata();

写仓库链表数据到文件

储存货品数据

2.5辅助类:

cls();

换行

换行

3.函数的调用关系图

4,5、调试分析与结果:

1程序运行时初始界面

2新建仓库

用键盘输入1,程序调用新建仓库功能函数,要求用户输入货物编号,货物名称,货物价格等。

3打开仓库文件

用键盘输入2,程序调用打开仓库文件功能函数,要求用户输入仓库数据文件名,数据文件存在,显示打开成功。

4添加货物

用键盘输入3,程序调用添加货物功能函数,要求用户输入货物编号,货物名称,货物价格等。

5修改货物

用键盘输入4,程序调用修改货物功能函数,要求用户输入货物编号,货物存在,显示货物详细信息,按任意键后,要求用户输入新货物名称,货物价格等。

6删除货物

用键盘输入5,程序调用删除货物功能函数,要求用户输入货物编号,货物存在,显示货物详细信息,按任意键后,删除货物。

7库存管理:

用键盘输入6,程序调用库存管理功能函数,显示库存管理子页面,选择2,货物出库,要求用户输入货物编号,货物存在,显示货物详细信息,要求用户输入进库数量。

8货物查询

用键盘输入7,程序调用货物查询功能函数,显示货物查询子页面,选择1,按编号查询,要求用户输入货物编号,货物存在,显示货物详细信息。

货若物不存在,显示“没有该编号货物”。

9储存数据

用键盘输入8,程序调用储存数据功能函数,要求用户输入文件名,将数据储存在指定文件中。

10所有货物

用键盘输入9,程序调用所有货物功能函数,显示仓库所有货物。

11退出系统

用键盘输入0,程序调用货退出系统功能函数,显示提示保存信息。

6.总结

课程设计是一个相当好的实践环节,通过这短短的三个星期的课程设计,我觉得从中获得到的东西,比上了整个学期的课程学的东西还多,实践是一个有效提高自己编程能力的方法。

在这个课程设计项目中,我运用了链表和文件的读写等知识点,而这些都是老师还没有教的,在课程设计实习周中,我用了前半部分的时间仔细了看了链表和文件读写的章节,了解其功能设计,通过不断的调试总结出链表的规律与使用方法。

将链表和指针的应用提高到另一个层次。

在这一次课程设计中,我学会了怎么去写好一个规的设计文档,熟悉流程图的制作过程。

在调试的过程中,出现了一些不可以预料的程序错误,这又让我学会了如何去设置断点,进行单步调试,分析清楚错误出现的原因,及其找到解决错误的方法。

同时,本次课程设计我分别用了不用的C编译器去编译代码,发觉不同编译器编译效果的不同,以及库文件等的不同。

学会在不同的编译环境中使用不同的函数。

5.参考文献

1]初小璐.完全掌握SQLServer2000[M]机械工业,2004

[2]JeraodV.Post.数据库管理系统(英文版.第三版)[美]清华大学,2006.1

[3]海藩.软件工程导论[M].:

清华大学,1998.1

[4]希仁.计算机网络(第二版)[M].:

电子工业,2003.6

[5]戴志诚,国峰.JSP信息化系统建设案例[M].:

人民邮电,2006.12

[6]成晓静,毕靖.网页设计三剑客完全学习手册[M].:

中国电力,2004.11

[7]强.精通JSP编程[M].:

电子工业,2006.3

[8]萨师煊,王珊.数据库系统概论[M].:

高等教育,2002.2

[9]海藩,劲,兆阳.SQLServer2000数据库设计与系统管理[M].:

清华大学,2000.9

[10]禾,蔡锋.Web数据库假设技巧[M].:

科技技术,1999.4

[11]徐建波.Internet与Web设计教程[M].:

中国矿业大学,2000.12

[12]于书举,许向众.数据库设计与开发教程[M].:

电子工业,2003.11

[13]安海忠,文斌,林旭新.商业建设与管理[M].:

人民交通,2006.8

[14]T.UmedaandS.Hagiwara.web-baseddatabaseforEPRcentersinsemiconductors[J].BPhysicaB:

CondensedMatter,3(7),249-252,2006.3

[15]Yih-LingHedley,MuhammadYounas.Sampling,informationextractionandsummarisationofHiddenWebdatabases[J].Data&

KnowledgeEngineering,InPress,UncorrectedProof,Availableonline10March2006.2

我在此向所有关心我的及帮助我的朱老师和同学们致以最真诚的感。

在本次课程设计中,我从指导老师及同学身上学到了很多东西。

她认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。

无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感指导老师耐心,认真的的辅导。

附录:

源代码

#include<

stdio.h>

stdlib.h>

malloc.h>

string.h>

#defineLengthsizeof(structProduct)

structProduct//定义货品结构体

//编号

//名称

//价格

//库存数量

//生产厂家

//提供商家

structProduct*next;

voidcls(void)

inti;

for(i=0;

i<

1;

i++)

printf("

\n"

);

}

//打开仓库,从把文件数据读入链表返回链表

structProduct*openstore()

charfilename[255];

structProduct*h,*pd,*q;

FILE*fp;

h=NULL;

请输入要打开的仓库数据文件(如:

D:

//store.txt):

scanf("

%s"

&

filename);

if(filename[0]=='

0'

)returnh;

if((fp=fopen(filename,"

rb"

))==NULL)

{

打开文件出错\n"

//getch();

returnh;

}

正在打开文件\n"

pd=(structProduct*)malloc(Length);

if(pd==NULL)

存溢出\n"

return(h);

h=pd;

while(!

feof(fp))

if(fscanf(fp,"

%d\t%s\t%f\t%d\t%s\t%s\n"

&

pd->

num,&

name,&

price,&

amount,&

fac,&

buss)==NULL)

break;

pd->

next=(structProduct*)malloc(Length);

if(pd->

next==NULL)

q=pd;

pd=pd->

next;

q->

next=NULL;

fclose(fp);

成功打开仓库数据文件\n"

intsavedata(structProduct*head)

structProduct*pd;

pd=head;

请输入要保存的仓库数据文件名(如:

//store.txt,0取消):

return1;

wb"

储存文件出错\n"

return1;

正在储存数据...\n"

while(pd!

=NULL)

fprintf(fp,"

pd->

num,pd->

name,pd->

price,pd->

amount,pd->

fac,pd->

buss);

仓库数据保存成功\n"

return0;

//创建链表,新建一个仓库,并输入数据

//返回链表

structProduct*newstore()

structProduct*h=NULL,*pd;

for(;

;

pd=(structProduct*)malloc(Length);

if(!

pd)

存溢出!

returnNULL;

请输入货品编号(0退出):

%d"

num);

num==0)

请输入货品名称:

name);

请输入货品价格:

%f"

price);

请输入货品库存量:

amount);

printf("

请输入货品的生产厂家:

scanf("

fac);

请输入货品的提供商家:

next=h;

//添加货品,向链表末尾添加货品

//参数:

*head链表指针

//返回添加货品的链表

structProduct*addproduct(structProduct*head)

structProduct*h,*pd;

if(!

head)

请先创建或打开仓库\n"

returnhead;

else

h=head;

break;

num==0)

printf("

while(h->

next!

h=h->

h->

next=pd;

//按编号查找货品

*head链表指针,*num货品编号

//返回:

链表结点

structProduct*bynumber(structProduct*head,intnum)

floattotal;

intn=num;

=NULL&

&

num!

=n)

没有该编号货品。

********************按编号查询货品**************************************\n"

|编号|名称|价格|库存|生产厂家|提供商家|价值量|\n"

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

|%6d|%-13s|%-9.3f|%-8d|%-10s|%-10s|"

pd->

num,pd->

name,pd->

price,pd->

total=pd->

price*pd->

amount;

%-10.3f|\n"

total);

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

return(pd);

//按名称查找货品

*head链表指针,*name货品名称

structProduct*byname(structProduct*head,charname[20])

strcmp(pd->

name,name)!

=0)//查找货品

没有该名称货品。

*********************按名称查询货品**************************************\n"

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

void*checkbynumber(structProduct*head)

structProduct*h=head;

请输入查询编号(0退出):

returnbynumber(h,num);

void*checkbyname(structProduct*head)

请输入货品名称(0退出):

returnbyname(h,name);

//修改货品

structProduct*editproduct(structProduct*head)

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

当前位置:首页 > 高中教育 > 小学教育

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

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