服装仓库管理管理系统的设计.docx
- 文档编号:4169643
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:30
- 大小:197.88KB
服装仓库管理管理系统的设计.docx
《服装仓库管理管理系统的设计.docx》由会员分享,可在线阅读,更多相关《服装仓库管理管理系统的设计.docx(30页珍藏版)》请在冰点文库上搜索。
服装仓库管理管理系统的设计
摘要
随着计算机技术的迅猛发展,人们对管理方式有了新的要求,传统手写记录的方式已经满足不了现代服装库存管理的需求,根据社会的需求,特制作了该服装库存管理软件。
通过该软件能方便的实现对服装库存的管理,该软件管理对象包括服装的品牌、分类、型号、大小、颜色、价格、数量、生产日期、生产厂家名称等;通过对以上信息的封装,再使用单链表实现了产品的出库、入库、数据录入、数据读取、统计等功能;通过这些功能的实现,操作员能对产品信息实现动态的管理。
减少企业的生产成本。
关键字:
服装库存封装动态管理链表
第一章设计内容和要求
1.1设计内容
内容:
服装仓库管理系统至少具有:
入库、出库、查询、统计等功能。
服装库存信息至少包括:
品牌、分类、型号、大小、颜色、价格、数量、生产日期、生产厂家名称等,查询主要是针对服装品牌、分类、颜色、价格、生产日期、生产厂家名称等字段进行的,统计主要是对满足一定条件的数量、价格、大小、分类等特征进行的。
1.2设计要求
要求:
确定并使用适当的链表结构,能从外部文件读入服装库存信息,也能输出到外部文件进行永久保存。
第二章需求分析
2.1数据录入功能
数据录入是该类软件必备的基本功能,当链表为空时,通过对服装变量“编号”的判断进行信息的录入。
函数中用一临时变量接受参数,当输入一条信息后接入链表的尾端,依次录入信息形成一个完整的链表。
2.2数据删除功能
数据有添加就必须也有对应的删除功能,删除是一项对数据管理的基本功能。
当服装出库时就要对其记录做相应的修改。
删除数据时要输入服装的编号和数量,以便对相应数据的查找,当记录不存在时现实提示信息,还要判断删除数据的位置根据不同的情况作出相应的处理。
2.3数据的修改
输入数据时难免会出现人为的错误,所以修改功能是必不可少的。
修改数据首先要找出数据的位置,找到数据后再对需要修改的内容进行选择,然后,再做出必要的信息修改。
2.4数据查询
查询是一项对信息管理的基本功能,当数据很多时如何能精确快速的查找到数据,对一个管理员来说是很重要的。
查询功能需要用户提供服装的编号,系统会根据编号对数据进行扫描,知道扫描到需要的数据,或者提示你该信息不存在。
2.5信息统计
信息录入或者读取后需要相应的统计,数据统计是数据管理中必备的基本功能;数据统计时会对链表的节点逐个扫描,提取其中相应的数据信息进行累加操作,最后,返回统计后的数值。
第三章系统设计
3.1总体功能图
跟据软件应用的需要,整体上实现了服装的出库、入库,以及信息的读取、保存、查找、修改等功能。
功能图如3-1所示
图3-1总体功能图
3.2总体流程图
通过对各个函数实现的分析得到函数功能的总体流程图如下:
图3-2总体流程图
第四章主要功能设计流程
4.1录入功能流程图
当文件为空,不能读入信息时,自动转入数据录入操作,该操作如下图4-1所示:
图4-1录入功能流程图
4.2入库功能流程图
产品进库时管理员需要入库操作,其函数流程图如下所示:
图4-2入库函数流程图
4.3修改信息流程图
数据管理过程中需要对信息进行时时的修改,需要调用修改函数,该函数流程图如下:
图4-3修改信息流程图
4.4出库函数流程图
出库函数对应的流程图如下:
图4-4出库函数流程图
4.5统计函数流程图
统计函数针对库存服装的数量进行统计,其流程图如下所示:
图4-5统计函数流程图
第五章代码实现
5.1录入函数代码实现
structinfor*p,*t;
intf=1;
p=t=(structinfor*)malloc(sizeof(structinfor));
if(!
p||!
t)
returnfalse;
t=head;
while(f)
{
cout<<"请输入服装编号!
";
cin>>p->no;
while(!
t->next)
{
if(t->next->no==p->no)
{
cout<<"已经有相同编号的服装,请输入入库服装数量!
";
cin>>p->no;
t->next->no+=p->no;
cout<<"该服装已经入库!
";
returnfalse;
}
t=t->next;
}
if(p->no!
=0)
{
输入服装信息(略);
t->next=head->next;
head->next=t;
cout<<"插入数据成功,是否继续(按1继续,0退出)!
";
cin>>f;
returntrue;
}
else
break;
}
5.2出库函数的代码实现
structinfor*p,*t,*q;
p=(structinfor*)malloc(sizeof(structinfor));
t=head;
intflag=1;
cout<<"请输入出库产品的编号!
";
cin>>p->no;
cout<<"请输入出库产品的数量!
";
cin>>p->num;
while(!
t->next)
{
if(t->next->no==p->no)
{
if(t->next->num>p->num)
cout<<"编号为"<
if(t->next->num==p->num)
{
cout<<"编号为"<
q=t->next;
t->next=q->next;
free(q);
}
if(t->next->num
cout<<"库存数量为"<
";
flag=0;
t=t->next;
}
}
if(flag)
cout<<"该服装不存在!
";
5.3文件读取的代码实现
structinfor*p,*t,*h;
intcount=0;
strings;
p=h=(structinfor*)malloc(sizeof(structinfor));
h->next=NULL;
p=h;
ifstreamfin;
fin.open("dress.txt",ios:
:
in);
if(!
fin)
{
cout<<"库存信息不存在,请创建!
";
returnNULL;
}
while(!
fin.eof())
{
t=(structinfor*)malloc(sizeof(structinfor));
t->next=NULL;
fin>>t->no>>t->brand>>t->classification>>t->style>>t->size>>t->color>>t->price>>t->num>>t->date>>t->Manufacturer;
把t中的数据显示在屏幕上(略);
t->next=NULL;
p->next=t;
p=p->next;
count+=t->num;
cout< } p->next=NULL; cout<<"库存量为: "< fin.close(); returnh; 5.4信息查找代码的实现 voidsearch(structinfor*head) { structinfor*p,*t; p=t=(structinfor*)malloc(sizeof(structinfor)); t=head; intflag=1; cout<<"请输入需查找服装的编号! "; cin>>p->no; while(! t->next) { if(t->next->no==p->no) { cout<<"查找到的服装信息如下! "; cout< flag=0; } t=t->next; } if(flag) cout<<"您所查找的服装不存在! "; } 5.5文件保存代码的实现 voidsaveInfor(structinfor*head) { structinfor*p; ofstreamout; out.open("cccc.txt",ios: : app); if(! out) { cout<<"打开文件出错! "; exit(-1); } else for(p=head->next;p! =NULL;p=p->next) out< } 第六章系统测试及使用说明 开始界面: 通过输入相应的编号即可实现对应的功能。 总结 本次设计的服装库存管理软件实现了对服装出库、入库、读取信息、录入信息等功能,方便了对服装信息的管理。 很大程度上给库存管理人员带来了诸多方便,为公司减少了人力成本。 但由于本次设计时间有限,软件的设计还有许多不太令人满意的地方,像界面设计的就比较粗糙,程序也不是很简练。 另外还可以再添加一些像时间显示、服装分类管理等功能。 参考文献 1.严蔚敏吴伟民,数据结构,清华大学出版社,2007.3 2.李春葆,数据结构教程,清华大学出版社,2005.1 3.(美)StephenPrata,CPrimerPlus中文版(第五版),人民邮电出版社,2005.2 致谢 本次程序设计的过程中遇到了许多的问题,如信息怎样实现动态的录入,怎样对文件信息是否为空进行判断等,在同学的帮助下我克服了这些困难,最终完成了本次的软件设计,我在此对他们的帮助表示真诚的感谢! 此致 敬礼 1/11/2012 附页 C++头文件代码: #include #include #include usingnamespacestd; structinfor { intno;//编号 charbrand[20];//品牌 charclassification[20];//分类 charstyle[10];//型号 charsize[10];//大小 charcolor[20];//颜色 floatprice;//价格 intnum;//数量 intdate;//生产日期 charManufacturer[40];//生产厂家 structinfor*next; }; structinfor*create() { structinfor*head,*p1,*p2; head=p1=p2=(structinfor*)malloc(sizeof(structinfor)); head->next=NULL; p2=head; while (1) { p1=(structinfor*)malloc(sizeof(structinfor)); cout<<"请输入录入服装编号(输入0结束录入)! "; cin>>p1->no; if(p1->no! =0) { cout<<"请输入服装品牌: "; cin>>p1->brand; cout<<"请输入服装分类: "; cin>>p1->classification; cout<<"请输入服装型号: "; cin>>p1->style; cout<<"请输入服装大小: "; cin>>p1->size; cout<<"请输入服装颜色: "; cin>>p1->color; cout<<"请输入服装价格: "; cin>>p1->price; cout<<"请输入服装数量: "; cin>>p1->num; cout<<"请输入服装生产日期: "; cin>>p1->date; cout<<"请输入服装生产厂家: "; cin>>p1->Manufacturer; p2->next=p1; p2=p1; } else break; } p2->next=NULL; free(p1); cout<<"录入信息完毕! "; returnhead; } voidinsert(structinfor*head) { structinfor*p,*t,*q; intj=1; p=t=(structinfor*)malloc(sizeof(structinfor)); q=head; t=head->next; head->next=NULL; cout<<"请输入服装编号! "; cin>>p->no; while(j) { while(t! =NULL) { if(t->no==p->no) { cout<<"已经有相同编号的服装,请输入入库服装数量! "; cin>>p->no; t->next->no+=p->no; cout<<"该服装已经入库! "; break; } t=t->next; } cout<<"请输入服装编号! (0结束)"; cin>>p->no; if(p->no! =0) { cout<<"请输入服装品牌: "; cin>>p->brand; cout<<"请输入服装分类: "; cin>>p->classification; cout<<"请输入服装型号: "; cin>>p->style; cout<<"请输入服装大小: "; cin>>p->size; cout<<"请输入服装颜色: "; cin>>p->color; cout<<"请输入服装价格: "; cin>>p->price; cout<<"请输入服装数量: "; cin>>p->num; cout<<"请输入服装生产日期: "; cin>>p->date; cout<<"请输入服装生产厂家: "; cin>>p->Manufacturer; q->next=p; q=p; cout<<"插入成功! "< } else break; cout<<"是否继续输入(0结束,1继续)"; cin>>j; } } voiddeleteinfor(structinfor*head) { structinfor*p,*t; p=(structinfor*)malloc(sizeof(structinfor)); intflag=1; t=head->next; cout<<"请输入出库产品的编号! "; cin>>p->no; while(t! =NULL) { if(t->no==p->no) { cout<<"请输入出库产品的数量! "; cin>>p->num; if(t->num>p->num) { cout<<"编号为"< flag=0; } if(t->num==p->num) { cout<<"编号为"< t->next->next=t->next; free(t->next); flag=0; } if(t->num { cout<<"库存数量为"< "; flag=0; } t=t->next; } if(flag==1) { cout<<"该服装不存在! "; } break; } } voidsearch(structinfor*head) { structinfor*p,*t; p=t=(structinfor*)malloc(sizeof(structinfor)); t=head->next; intflag=1; cout<<"请输入需查找服装的编号! "; cin>>p->no; while(t! =NULL) { if(t->no==p->no) { cout<<"查找到的服装信息如下! "< cout<<"编号: "; cout< cout<<"品牌: "; cout< cout<<"分类: "; cout< cout<<"型号: "; cout< cout<<"大小: "; cout< cout<<"颜色: "; cout< cout<<"价格: "; cout< cout<<"数量: "; cout< cout<<"生产日期: "; cout< cout<<"生产厂家: "; cout< cout< flag=0; } t=t->next; } if(flag) cout<<"您所查找的服装不存在! "; } voidchange(structinfor*head) { structinfor*p,*t; p=t=(structinfor*)malloc(sizeof(structinfor)); t=head->next; intflag=1; ints; cout<<"请输入您要查找产品的编号: "; cin>>p->no; while(t! =NULL) { if(t->no==p->no) { cout<<"请输入您所要修改产品的属性,1品牌、2分类、3颜色、4价格、5生产日期、6生产厂家名称"; cin>>s; switch(s) { case1: cout<<"请输入修改后产品的品牌: ";cin>>t->brand;break; case2: cout<<"请输入修改后产品的分类: ";cin>>t->style;break; case3: cout<<"请输入修改后产品的颜色: ";cin>>t->color;break; case4: cout<<"请输入修改后产品的价格: ";cin>>t->price;break; case5: cout<<"请输入修改后产品的生产日期: ";cin>>t->date;break; case6: cout<<"请输入修改后产品的生产厂家名称: ";cin>>t->Manufacturer;break; } flag=0; } t=t->next; } if(flag) cout<<"该服装不存在! "; } inttotalInfor(structinfor*head) { structinfor*t; t=(structinfor*)malloc(sizeof(structinfor)); intcount=0; t=head->next; while(t! =NULL) { count+=t->num; t=t->next; } returncount; } structinfor*readInfor() { structinfor*p,*t,*h=NULL; intcount=0; ifstreamfin; fin.open("dress.txt",ios: : in); if(! fin) { cout<<"库存信息不存在,请创建! "; returnNULL; } h=(structinfor*)malloc(sizeof(structinfor)); p=h; h->next=NULL; while(! fin.eof()) { t=(structinfor*)malloc(sizeof(structinfor)); t->next=NULL; fin>>t->no>>t->brand>>t->classification>>t->style>>t->size>>t->color>>t->price>>t->num>>t->date>>t->Manufact
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 服装 仓库 管理 系统 设计