出库模块报告书Word文档格式.docx
- 文档编号:13611337
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:18
- 大小:109.72KB
出库模块报告书Word文档格式.docx
《出库模块报告书Word文档格式.docx》由会员分享,可在线阅读,更多相关《出库模块报告书Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
我们首先规定了货品的相关信息包括:
账号、品名、规格、单价、数量、金额,入库日期等,之后我们通过键盘输入货物的相关信息。
对于入库程序,我们要求能将入库的货物信息逐一插入链表。
对于出库程序,我们要求程序能完成对出库信息的记录,对库存物品的修改以及对客户信息的记录。
对于查找程序,我们要求程序可以通过账号进行查询。
对于统计功程序,我们要求程序可以显示仓库货物的数量和价格并按月、季、年分别输出四大类物资的报表。
整个程序运行时,我们只需按屏幕上的提示进行自己需要的操作就行了。
输入数据类型:
整型、字符型、结构体;
输入数据的取值范围:
0至12;
输出数据类型:
整型、字符型;
…………………………..
二,概要设计:
1.方案确定:
库存货品信息管理系统要求实现许多功能,可遵循结构化程序设计思想来进行本系统的设计,通过小组讨论,我们决定采用线性链表的结构来储存货物信息。
并把整个系统分为五个模块:
入库模块,出库模块,查询模块,统计模块和主函数模块。
运行时,通过主函数的调用来实现所需的功能。
其中本程序中用到的抽象数据类型的定义有:
线性链表结构体的定义;
创建链表的头节点以及在进行入库时货物存储即链表的插入,出库时链表的修改等;
头节点声明,以及函数调用时的声明等。
2.具体结构:
库存货品信息管理系统的软件具体结构如图:
3.数据流程图
货物(货物代码,货物名,型号,数量,单价,销售价,日期)
出库(出库单号,货物代码,货品名,数量,单价,总价,日期)
4.块功能说明:
对本系统的功能进行分析后可作如下的模块化设计:
入库模块实现功能:
能把货品信息按四大类逐一输入,并对其进行插入,删除,查找。
出库模块实现功能:
能把已经出库的物资信息在四类链表中进行修改,并记录相应的客户信息。
查询模块实现功能:
用户可以通过帐号查找相应的货品的信息。
统计模块实现功能:
程序可以显示仓库货物表和按月、季、年输出报表。
主程序模块实现功能:
完成主菜单的显示,及对各模块的调用。
三,详细设计
在这次的程序设计中,我负责的是出库模块。
出库模块主要分为四大部分:
黑色金属链表的修改、有色金属链表的修改、非金属链表的修改、机械制品的链表的修改以及客户信息的插入和删除,将这些功能分别写成小函数,最后用一个主函数调用这些函数,达到模块的功能要求。
具体设计思路是对于出库的物品信息,要在产品结构体中做好相应的修改,在这里不能直接把出库的产品节点删除,而是在节点的结构体中做到相应的修改,而对于每一批出库产品都有其对应的客户信息,所以出库模块还将实现客户信息的记录功能。
此模块用到的数据结构是线性链表,数据类型有结构体类型、整型数据、字符型数据等。
一、结构体定义:
验证结构体:
structbaomi
{
chardlms[12];
intmm;
structbaimi*next;
};
structbaomi*hand;
产品结构体(以黑色金属为例):
structheise_product
{
charnum[12];
charp_num[12];
charname[12];
intamount;
intprice;
intt_price;
intyear;
intseason;
intmonth;
intday;
structheise_product*next;
structheise_product*hhead;
客户信息结构体:
structkehu_information
charkname[12];
charname[12];
intamount;
intdate;
structkehu_information*next;
};
structkehu_information*khead;
二、出库产品结构体的修改(以黑色金属为例):
金属结构体的修改(以黑色金属为例)
intheise_modify()
charm_num[12];
/*先定义一个指针*/
structheise_product*p;
p=hhead;
printf("
Enterthemodifynum\n"
);
scanf("
%s"
&
m_num);
/*输入出库的编号*/
if(p==NULL)/*开始没有数据*/
Sorry!
Nodatacanbefound\n"
return0;
}
while(p!
=NULL)
if(strcmp(p->
num,m_num)==0)/*编号比较*/
Enterthenewdatawithoutnum\n"
%s%s%d%d%d"
&
p->
p_num,&
name,&
amount,&
price,&
t_price);
/*输入修改出库的信息*/
Onedatahadmodified\n"
p=p->
next;
Nonumhasfound\n"
三、客户信息的插入和删除:
客户信息的插入:
intkehuinformation_insert()
structkehuinformation*p1,*p;
p1=(structkehuinformation*)malloc(sizeof(structkehuinformation));
p=khead;
if(p==NULL)
Entertheinformationofkehu\n"
Includethename,number,date\n"
%d%s%s%"
p1->
date);
khead=p1;
khead->
next=NULL;
while(p->
next!
=NULL)p=p->
next=p1;
Enterthedata\n"
%s%s%s%d%d%d"
客户信息的删除:
intkehuinformation_delete()
Enterthename\n"
name);
/*输入删除的编号*/
Nonamecanbefound\n"
name,name)==0&
p->
next==NULL)/*链表只有一个数据,且是要删除的*/
khead=NULL;
Onenamehasbeendeleted\n"
=NULL)/*要删除的数据在链表的头上*/
khhead=khhead->
p1=p->
if(strcmp(p1->
name,name)==0)
next=p1->
Nonamehasfound\n"
四,程序设计与程序调试
1、出库模块说明
此模块的主要功能是对出库物品的信息的记录,具体就是对五张链表的分别操作。
程序设计的思想是先写出各个子函数,最后通过主函数对各子函数的调用,完成程序的功能。
所用到的数据结构是线性链表,数据类型有整型、字符型以及结构体类型。
2、调试过程中的问题及解决办法
由于此程序完全是一组成员自行设计及编写的,在调试过程中,也出现了许多的问题,例如给一张链表申请动态存储空间,用到malloc函数,在调试的时候这类语句就总是有错误,为了找出错误并改正,我们又认真研究了C语言程序设计的课本和数据结构的课本,并且请教了老师,最后才明白是因为我们在程序前缺少一个头文件,由于没有这个头文件,在程序的执行中,malloc函数就不能被调用。
在程序设计的过程中,由于大家的粗心,使得程序还出现了很多小问题,例如结构体在定义时的成员顺序和在应用时的成员顺序弄乱了,导致程序出现错误,以及结构体指针的定义错误。
这些错误通过认真复习C语言程序中的结构体一章后都得到了解决。
在本次的程序设计中,这样的问题出现的很多,但是在大家的共同努力和老师的帮助下,我们经过近三天的修改和调试,程序最终能够成功运行。
。
五,测试结果
模块运行结果:
联调结果:
运行结果分析:
此次实验,我们的程序在运行过程中出现了“内存无法正确分配”的错误,导致程序在运行了几步之后就无法正常运行,在老师的讲解之后,我们小组成员分析出现这种情况的原因,有可能的原因有:
(1)程序主函数的编写出现问题,导致主函数对于子函数的调用无法正常进行,进而出现这种情况;
(2)在程序的设计中,我们总共建立了五张链表,分别是四种金属的链表以及客户信息的链表,在程序设计中,具体在出库模块的设计中,由于很多语句都同时设计两张链表的应用,因此在获取两张链表表头的时候有可能会出现内存空间无法正确分配的情况,对于此种情况,在老师的指导下,我们的解决方案是,删掉原先的客户信息链表,把客户信息直接作为结构体成员添加到四类金属的链表中,这样设计的程序可读性高,而且不容易出现错误。
六,实验总结
经过过两个星期的努力,最终我们所设计的完整总程序是能够运行的,但任然存在一定不足:
程序的所能实现的功能比较单一,程序的设计有很多重复的地方,出库信息还不够明了等。
对于这些问题,在今后的学习中,我们会不断地寻求改进方法,力求将这些问题解决。
程序运用了线形链表的数据结构,把对链表的各个操作作为子函数,接着用一个主函数去调用它们,但是在调用的过程中还是存在着一些问题,导致我们的运行结果中还存在着一些小问题,导致我们的总程序运行结果不够完善,就
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出库 模块 报告书
![提示](https://static.bdocx.com/images/bang_tan.gif)