仓库管理系统c语言程序设计报告Word下载.docx
- 文档编号:8300925
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:21
- 大小:186.53KB
仓库管理系统c语言程序设计报告Word下载.docx
《仓库管理系统c语言程序设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《仓库管理系统c语言程序设计报告Word下载.docx(21页珍藏版)》请在冰点文库上搜索。
总分
一、题目
仓库管理系统
该系统将输入进系统的仓库中物品的基本信息(包括货号、名称、单价、库存数量、品牌)进行处理,可以进行:
(1)、按物品价格降序输出、按库存数量升序排列。
(2)、修改制定物品的信息。
(3)、删除指定物品的信息。
(4)、在指定物品前或后再插入一个物品的信息。
(5)、统计同一种品牌的数量。
三、概要设计
系统功能模块图
进入系统
四、详细设计
1、结构的定义:
数组结构体一共有两个:
structinformation/物品信息机构
{
intArtnumber;
chargoodsname[20];
floatunitprice;
intquantity;
charbrand[20];
};
structMainfest//仓库信息机构
structinformationdata[Number];
intNum;
链表结构体一共有一个:
structinformation//物品信息机构
structinformation*next;
structinformation*head;
〃头指针
structMainfestgoods;
2、各个函数的具体设计思想及流程图
本系统一共九个函数:
(1)
voidinputInformation();
//对仓库中所有物品的基本信息进行输入
(2)
voidoutputsort();
〃按序输出数据
(3)
voidmodifyInformation();
〃修改物品信息
(4)
voiddeleteInformation();
〃删除物品信息
(5)voidinsertInformation();
//插入〃插入物品信息
(6)
voidstatistics();
//统计
〃统计相同品牌的物品数量
(7)
voidsaveInfoToFile();
〃文件输入到磁盘
(8)
voidloadInfoFromFile();
〃文件磁盘载入
(9)
voidmaon();
//主函数
其中第七、八个为文件函数,进行文件的存储和载入。
主函数main()是一个死循环,每执行玩一个函数都要输出菜单选择,直到选择退出为止。
2.1仓库物品基本信息输入函数
对物品基本信息进行连续输入,直到所有物品信息都输入完毕,改函数用while循环函数进行连续赋值。
(1)、具体流程图如下图所示:
链表
开始
菜单,选择输入数
据函数
head=()malloc();
建立一个空
节点head并分配内存
temp=()malloc()建立新
节点temp并分配内存
Temp->
next=head->
next;
Head->
next=temp;
判断是否要继
续输入if()
(2)代码说明
if这里有两个用途:
1、用于判断是否还有空间进行
While语句是把数据输入到内存中,数据输入;
2、判断是否还要继续输入。
2.2按序输出物品信息
对物品的特定信息进行排序后在输出,可以进行按价格降序输出、按库存数量升序输出,这两种输出可以自由选择
数组
满足大小关系
进行交换
输出,outlist
结束
选择排序元
按价格降序
输入sel=1
素
按库存数量升
序sel=2
Sort(sel)排序
Outlist()输出
2.3修改指定物品的信息
对数据文件中特定信息惊醒修改,可以修改任何信息
定义结构体指针,
*pf=search(),*pb=pf->
next
输入要修改的物
品货号printf()
2.4删除指定货物信息
对磁盘文件中的特定物品信息进行删除
输入指定物品
的信息
if
查找指定物品
goods.Num--;
结
构体数目减一
定义两个指向结构体的指针
pf=search(goodsnum);
pb=pf->
next;
输入要删除的货物
货号scanf()
查找指定货物pf=Search
(goodsname
是是否找到指定否
输出"
未找到指定
货物”
货物
删除pf->
next=pb->
free(pb)
2.5在指定位置插入一个物品的信息
(1)流程图
前插
输入指定货物的货号
scanf()
是否找到指定货物
选择前插或者后
插if()
后插
f、
for(j=goods.Num;
j>
i-1;
j--)
i;
goods.data[j]=goods.data[j-1
];
该货物及以后货物后移一位
该货物后每一个元素后移一位
插入输入要插入
的物品信息
找到插入位置
Pf=search(goodsnum)
Pb=pf->
next
判断是否找到指定
物品
是
在内存中开辟一个空
节点temp=()malloc(())
输入要插入的物品信息
scanf(“”mp->
data)
else
temp->
next=pb;
pf->
next=temp;
选择前插还是后插
If(head==pf)
指定元素为头节点
后第一个元素,插入
lf(pb->
next==NULL
指定元素为最后一
个节点,插入
next;
pb->
2.6统计指定品牌的库存数量
⑴流程图
输入要统计的品牌名scanf()
r>
for(i=0;
i<
goods.Num;
i++)
循环求和
Sun+=quantity
if(i==goods.Num)
i=-1;
判断是否找到品
牌的物品i!
=-1?
printf("
%d\n"
sum);
输出求得的和
Printf“为找到该品
牌”
structinformation*p;
P=head->
输入指定品牌明
Scanf(“%s”,name)
P!
=NULL
如果是同一品牌,求
禾廿sum=sum+data
输出和
2.7、基本数据文件输入磁盘
将输入的数据存储到磁盘保持。
用fopen()打开一个
特定文件,返回值是否
为0
创立这个文件
用fwrite()讲
数据写入文件
Fclose(fp)
关闭文件
structinformation*p;
用fopen()打开一个特
定文件,返回值是否
否
打开文件,并使
p=head->
p!
fclose(fp);
并用while()f否e()
进行循环输入
2.8、数据文件载入
从磁盘文件中讲已经保存了的数据读取到内存中,为以后的数据处理
做准备。
用fopen()打开一个特定文件,返回值是否
输出“该文件不能被打开”
goods.Num==100
判断该文件是否已满
Feof(fp)=0?
判断
文件是否结束
Goods.num
=100?
输出”存储空间已
满,不能再存储
_dI
用freadj()将
文件读取出
Fclose(fp)
FILE*fp;
structinformation*p;
用fopen()打开一个特定
文件,返回值是否
打印“文件不能打开”
P=()malloc()为p分
配内存
用fread()将文件
读取出来
否Feof(fp)=0?
文件未结束
|是
p->
head->
next=p;
P=()malloc(());
用fread(0,讲文件读
取出来
Free(p);
五、测试结果及存在的问题
1、调试运行,选择第一项进行数据输入:
自晒
信#.
盘忌息帛品键岀信信物物A鰭
的入的黑软户站品桥本蓊響品文文的数抱指r指数数系品丰改出鑿修删齐舉荃退
123456780
库存救量
宜否要继续输入7是小否,
2、按序输出:
(1)、按物品价格降序输出
溝选扌費旨定的选项;
仓库物品基本数据
4.0
3.0
2.0
1.&
(2)、按库存数量升序输出
列
FF
:
i项列序选樑升的塞重定專34^库选按咬
它库物品基本数据
1-0
2.B
3.0
4.Q
3、修改指疋物品的信息
育悅人農修改的贷物的货号^
口誘量
S1数1品物价Its物^品
胃物货号
名称
单价
库存数量
品牌
4
4.»
3
3・0
1.0
i.0
4、删除指定物品的信息
自亠入宦量输i盘自心息品品傩岀信信储的入的曹擞序品品插本香文文基霑定位定的数薯定挹数数系品本改本本出烹俺-M--S鎏厘謔i2345fi*780
溝输入要删除的贺物的货号,
货物货号名称单价库存数量品牌
333.0
111,0
111.0
5、在指定物品前或后插入一个物品的信息
(1)前插
晴输入指定的货物的货号:
挥存数量
项列序选t升的睿里定專
库
色库物品基本数据
货物货号名祢单价库存数量品牌
(2)、后插
请输仇扌自定的贷物的贷号;
6、求指定品牌的物品数量
睛输入要统计数量的品牌记
不足:
修改指定物品的信息和删除指定物品的信息时,如果有相同货号的物品,则无法一次性修改和删除。
改进:
预想循环查找、修改、删除,直到找不到指定货物为止。
六、课程设计心得体会
第一次做这个长度的程序设计,对我好处很多,在编写程序的过程中,清楚的找出了自身的不足,以及对课本知识掌握不熟练的地方,并在编程中对课本知识进行了较为充分的复习,包括对数组的运用、函数的调用的理解以及更重要的是原来不熟练的链表、文件的知识有了更深的了解,并能用链表进行程序的编写。
这次编程体验,让我对模块化编程有了了解,并建立了模块化编程的思想,我想这点对我来说尤为重要。
这次的编程,更加强了我对错误的改正能力,也在编程中减少了低级错误的发生,也提高了对VC++编程软件的熟练程度
总之,这次编程虽然遇到了很多困难,但是,让我受益匪浅。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 管理 系统 语言程序设计 报告