ImageVerifierCode 换一换
格式:DOC , 页数:53 ,大小:112.50KB ,
资源ID:4461872      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4461872.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(JAVA仓库管理系统.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

JAVA仓库管理系统.doc

1、JAVA仓库管理系统532020年5月29日文档仅供参考目录系统开发的必要性及介绍系统概要设计系统详细设计系统源代码调试分析和测试结果系统使用说明书心得体会参考文献课程设计题目:仓库货品信息管理系统一、系统开发的必要性及介绍1.必要性仓库管理是现代物流管理的一个重要组成部分,仓库货物管理信息系统的设计,能够实现对存储货物信息及统计单据的计算机管理,简化作业程序,提高作业效率,为企业创造更高的利润。2.主要功能介绍本系统有对库存货品信息的输入、插入、删除、查找等功能,并能将建立和更新的库存信息保存于文件供输出或打印。对于查找、删除等功能要求能按货品名、货品号分别进行。每个货品的相关信息包括:货品

2、号、货品名、货品库存量、进货日期、货品生产厂家及供应商等。二、系统概要设计1.系统设计任务要求系统能实现库存货品信息的输入、插入、删除、查找等功能,并能将建立和更新的库存信息保存于文件供输出或打印。对于查找、删除等功能能够按货品名、货品号分别进行。每个货品的相关信息包括:货品号、货品名、货品库存量、进货日期、货品生产厂家及供应商等。2.方案确定库存货品信息管理系统要求实现许多功能,可遵循结构化程序设计思想来进行本系统的设计自顶向下,逐步细化,也就是将软件设计任务划分成许多容易解决的小的子任务,即分解出许多子功能模块进行设计。本程序经过分析可划分出6个子任务:输入、输出、插入、删除、查找和保存。

3、3.模块划分 (1)程序设计模块连接图库存货品信息管理系统的模块连接结构如下图:仓库货品信息管理系统 主程序模块 载入模块保存模块 查找模块删除模块插入模块 输出模块输入模块4.环境要求硬件:PC机软件:电脑安装有TC集成环境三、系统详细设计1数据结构设计(1)数据结构的选择选取动态数据结构,本系统是经过双向链表来完成的。动态存储分配与释放:申请存储空间函数malloc( )函数首部原型为void * malloc(unsigned int size)释放存储空间函数free( )函数首部原型为void free(void*p)动态数据结构双向链表 (2) 数据类型的选择struct comm

4、odity /*定义双向链表结构体*/int number; /*货物编号*/ char namemax; /*货物名称*/ int counter; /*货物数量*/ struct commodity *piror, *next; /*定义两指针,分别指向其前驱和后继*/;(3)变量函数说明:COM *input( )操作结果:输入货品信息COM *insert_perf( )操作结果:插入某货品COM *del_perf( )操作结果:删除某货品serch( )操作结果:查找某货品print_perf( )操作结果:输出某货品save(COM*head)操作结果:保存COM *openfi

5、le( )操作结果:载入2.流程框图查找模块和载入模块的算法框图在此略。开始(1)输入模块申请一个结点空间,使ptr1指向它将ptr1指向结点输入货品的信息ptr1-num!=0 NNULL=ptr1Y ptr1!=NULL N是否为第一个数据(n=0) Y NPtr1=ptr2-next;ptr2=ptr1-prior Yptr1=head Yn+1=n, ptr1=ptr2NULL=ptr2-next 返回head结束(2)插入模块 开始调入载入模块Head=NULL申请一个结点空间,使ptr3指向它给ptr3指向结点输入预插入货品的信息 Head=ptr1ptr1!=NULL N Y返回

6、NULLptr1=ptr2;ptr1-next=ptr1ptr2=ptr1-priorptr3=ptr2-next;ptr2=ptr3-priorNULL=ptr3-next”yes”or ”no” NY 返回head结束开始(3)保存模块输入预保存文件的文件名创立文件成功 N YHead=ptr1Ptr1!=NULL N Y将ptr1指向结点的数据写入文件Ptr1-next=ptr1结束开始 2030(4)输出模块 调用载入模块Head= =NULL YYHead=ptr1输出ptr1指向结点的货品信息 Ptr1-next=ptr1 NPtr1!=NULL Y N结束对以上各模块的文字解释说

7、明:(1)输入模块:其实就是一个建立链表的操作模块。建立链表的具体操作就是逐一输入各结点数据,并建立其前后相链的关系。首先设三个指针变量:head,ptr1,ptr2。它们都是指向结构体类型数据的。先使head的值为NULL,这是链表为空的情况。用malloc函数开辟一个结点,并使ptr1,ptr2都指向它,之后从键盘读入一个货品的数据给ptr1所指向的结点。当输入的ptr1-num不为0时,令headptr1;ptr2=ptr1,即把ptr1的值赋给head,使ptr2,ptr1,head都指向这一新开辟的结点,此结点就成为链表中的第一个结点。再开辟一个新结点并使ptr1指向它,读入该结点的

8、数据,如果输入的ptr1-num不为0,则应链入这第二个结点,这时和上一个结点的处理不同,是将ptr1的值赋给ptr2-next,也就是使第一个结点的next成员指向第二个结点,接着将ptr2也指向结点2。再开辟一个新结点并使ptr1指向它,读入该结点的数据,同样将ptr1的值赋给ptr2-next,也就是使第三个结点链接到第二个结点之后,并接着将ptr1的值赋给ptr2,使ptr2指向结点3。再开辟一个新结点,并使ptr1指向它,输入该结点的数据,如果输入ptr1-num为0,则是输入结束标志,此结点不被链接到链表中,就将NULL赋给ptr2-next。建立链表过程至此结束,ptr1最后所指

9、结点并未链入链表中。(2)插入模块:要完成的是链表的插入操作,即将一个新结点插入到一个已有的链表中,对刚刚建立的链表,首先新设一个指针变量ptr0,并开辟一个结点使ptr3指向它,输入该结点的数据,即新货的有关数据,接下来查找要插入位置结点,找到后只需修改此结点和ptr0指向结点指针域的值即可,链表中所有元素位置均不需移动,这就体现了链表的优点。(3)删除模块:要完成的是链表的删除操作,只需修改链表中要删除结点的前一个结点的链指针。使之指向被删除结点的后面一个结点即可。(4)保存模块:将最终想要保留的数据信息保存于文件中。(5)输出模块:要完成的是依次输出链表中各结点的数据的操作。首先找到链表

10、头结点的地址,也就是head的值,然后设一个指针变量ptr1,先指向第一个结点,输出ptr1所指的结点,然后使ptr1后移一个结点,再输入直至链表的尾结点结束。四、系统源代码#include /*标准输入/输出头文件*/#include /*包含绘制图形函数等头文件*/#include /*包含字符串处理函数头文件*/#include /*包含动态存储与释放函数头文件*/#include#define LEN sizeof(COM)#define PRINT % -15ld% -15s% -15dn,ptr1-num,ptr1-name,ptr1-count#define CHECK_COUN

11、T ptr1-countcountnum);flushall(); if(ptr1-num=0) printf(Please press any key to back to last Menu:); getch( ); free(ptr1); return(0); printf(Please input the No.%d goods%s:n,n,string2);scanf(%s,&ptr1-name); flushall( ); /*刷新缓冲区函数*/ printf(Please input the No.%d goods%s:n,n,string3);scanf(%d,&ptr1-co

12、unt); flushall( ); if(CHECK_COUNT) printf(Please input the right goodscount!n); while(CHECK_COUNT); while(ptr1-num!=NULL) if(n=1) head=ptr1; else ptr2-next=ptr1; ptr1-prior=ptr2; n=n+1; ptr2=ptr1; if(ptr1=(COM* )malloc(LEN)=NULL) printf(No enough memory,fail to creat linklist!); getch( ); do printf(

13、Please input the No.%d goods%s:n,n,string1); scanf(%ld,&ptr1-num); flushall( ); if(ptr1-num=0) ptr1-num=NULL; break; printf(Please input the No.%d goods%s:n,n,string2);scanf(%s,&ptr1-name); flushall( ); printf(Please input the No.%d goods%s:n,n,string3);scanf(%d,&ptr1-count); flushall( ); if(CHECK_C

14、OUNT) printf(Please input the right goodscount!n); while(CHECK_COUNT); ptr2-next=NULL; gotoxy(1,24); printf(Finish the inputting of goodsmessage,press any key to back to last Menu,please save:); getch(); return(head);/*插入模块*/COM * insert( ) COM * ptr3; char string1 =goodsnumber; char string2 =goodsn

15、ame; char string3 =goodscount; char judge10; clrscr( ); gotoxy(18,10); printf(Please input inserted goodsfliename:); head=openfile( ); if(head=NULL) return(NULL); else do clrscr( ); printf(Please input inserted goodsgoodsmessage:n); if(ptr3=(COM*)malloc(LEN)=NULL) printf(No enough memory,fail to cre

16、at node!); getch(); do printf(Please input goods%s(0):n,string1);scanf(%ld,&ptr3-num); flushall( ); if(ptr3-numname);flushall( ); printf(Please input goods%s:n,string3);scanf(%d,&(ptr3-count); flushall( ); if(CHECK_COUNT2) printf(Please input the right goodscount(0)!n); while(CHECK_COUNT2); ptr1=hea

17、d; while(ptr1!=NULL) ptr2=ptr1; ptr1=ptr1-next; ptr1-prior=ptr2; ptr2-next=ptr3;ptr3-prior=ptr2; ptr3-next=NULL; printf(nInserting success!Cotinue to insert?(yes or no):); scanf(%s,judge); clrscr( ); while(! strcmp(judge,yes); gotoxy(20,10); printf(Inserting success!n); gotoxy(18,11); printf(Press a

18、ny key to back to last Menun); gotoxy(16,12); printf(And make sure to Save(6) them or you will lose them!n); getch( ); return(head);/*删除模块*/COM *delet( ) char name10; char judge10; int sel; int del_num; clrscr( ); gotoxy(20,10); printf(Please input delected goodsfliename:); head=openfile( ); clrscr(

19、 ); if(head=NULL) return(NULL); else do do clrscr( ); gotoxy(3,4); printf(Please input delected goodsmessage:); gotoxy(1,9); printf( *1.Del depend on goodsnumbern); gotoxy(1,10); printf( *2.Del depend on goodsnamen); gotoxy(10,22); printf(please choose a number between 1 and 2:); scanf(%d,&sel); swi

20、tch(sel) case 1:clrscr( ); gotoxy(6,6); printf(Please input goodsnumber:); scanf(%d,&del_num); break; case 2:clrscr( ); gotoxy(6,6); printf(Please input goodsname:); scanf(%s,&name); break; while(sel!=1&sel!=2); ptr1=head; if(ptr1-num=del_num|(strcmp(ptr1-name,name)=0) head=ptr1-next; printf(Success

21、 to delect goodsmessage!n); else /*判断是否是目标结点*/ while(ptr1!=NULL&ptr1-num!=del_num&strcmp(ptr1-name,name)!=0) ptr2=ptr1; ptr1=ptr1-next;ptr1-prior=ptr2; if(ptr1-num=del_num|(strcmp(ptr1-name,name)=0) ptr2-next=ptr1-next; ptr1-next-prior=ptr1-prior; free(ptr1); printf(nSuccess to delect goodsmessage!n

22、n); else printf(nCant find this goodsmessage!nn); printf(Cotinue to delect?(yes or no):); scanf(%s,judge); while(!strcmp(judge,yes); clrscr( ); gotoxy(20,10); printf(Delecting success!n); gotoxy(18,11); printf(Press any key to back to last Menun); gotoxy(16,12); printf(And make sure to Save(6) them

23、or you will lose them!n); getch( ); return(head); /*查找模块*/void search( )char name10; char judge10; int sel; long int sel_num; clrscr( ); gotoxy(18,10); printf(Please press searched goodsfliename:); head=openfile( ); if(head=NULL) return; else do do clrscr( ); gotoxy(5,4); printf(Please choose the wa

24、y to search:); gotoxy(1,9); printf( *1.Search depend on goodsnumbern); printf( *1.Search depend on goodsnamen); gotoxy(10,22); printf(please choose a number between 1 and 2:); scanf(%d,&sel); switch(sel) case 1:clrscr( ); printf(Please input goodsnumber:); scanf(%ld,&sel_num); break; case 2:clrscr(

25、); printf(Please input goodsname:); scanf(%s,name); break; while(sel!=1&sel!=2); ptr1=head; while(ptr1!=NULL&ptr1-num!=sel_num&strcmp(ptr1-name,name)!=0) ptr1=ptr1-next; if (ptr1-num=sel_num)|(strcmp(ptr1-name,name)=0) printf(n Success to search goodsmessage!n); printf(goodsnumber goodsname goodscou

26、ntnn); printf(PRINT); else printf(nCant find this goodsmessage!nn); printf(Cotinue to search?(yes or no):); scanf(%s,judge); while(!strcmp(judge,yes); gotoxy(10,24); printf(Please press any key to back to last Menu:); getch( ); /*输出模块*/void print( ) int i=1; clrscr( ); gotoxy(18,10); printf(Please i

27、nput printed goodsfilename:); head=openfile( ); if(head=NULL) return; else clrscr( ); printf( The printed result as follows:n); printf(goodsnumber goodsname goodscountnn); ptr1=head; do printf(PRINT); ptr1=ptr1-next; if(i/10=1) /*超过十行换页*/ i=0; printf(Press any key to change page:); getch( ); clrscr(

28、 ); gotoxy(0,6); printf(goodsnumber goodsname goodscountnn); i=i+1; while(ptr1!=NULL); gotoxy(10,24); printf(Please press any key to back to last Menu:); getch( ); /*保存模块*/void save(COM *head) clrscr(); gotoxy(8,13); printf(Please input saved goodsfilename(limit to letter or number):); scanf(%s,file

29、name1); if(fp=fopen(strcat(filename1,filename2),wb)=NULL) /*以二进制只写方式打开一个流*/ printf(Fail to creat FILE!); getch( ); return; ptr1=ptr2=head; while(ptr1!=NULL) if(fwrite(ptr1,sizeof(COM),1,fp)!=1) printf(Fail to print message to FILE!); getch( ); return; ptr1=ptr1-next; fclose(fp); gotoxy(10,24); print

30、f(Saving success!Press any key to back to last Menu:); getch();/*载入模块*/COM * openfile( )int n=1; scanf(%s,filename1); if(fp=fopen(strcat(filename1,filename2),rb)=NULL) gotoxy(15,13); printf(This filename isnt exist,please check if exist.npress any key back to Menu); getch( ); return(NULL); if(ptr1=p

31、tr2=(COM*)malloc(LEN)=NULL) printf(No enough memory,fail to creat linklist!nPlease press any key back to Menun); getch( ); return(NULL); if(fread(ptr1,sizeof(COM),1,fp)!=1) /*从fp指向的流中读取1个字段,每个字段为COM的字符长,并把它们放到ptr1指向的字符数组中,文件的位置指示器随着所读取的字符数而下移*/ printf(Fail to print message from FILE!nPlease press an

32、y key back to Menun); getch( ); return(NULL); if(ptr1-next=NULL) head=ptr1; else do if(n=1) head=ptr1; else ptr2-next=ptr1; n=n+1; ptr2=ptr1; if(ptr1=(COM*)malloc(LEN)=NULL) printf(No enough memory,fail to creat linklist!nPlease press any key to back to Menun); getch( );return(NULL); if(fread(ptr1,sizeof(COM),1,fp)!=1

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服