仓库管理系统的C 编程Word文件下载.docx
- 文档编号:17291294
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:22
- 大小:179.24KB
仓库管理系统的C 编程Word文件下载.docx
《仓库管理系统的C 编程Word文件下载.docx》由会员分享,可在线阅读,更多相关《仓库管理系统的C 编程Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
制作仓库货物管理系统,实现数据录入、数据输出、数据查询等功。
2、设计要求:
1)可以对货物的存入、取出等操作记录
2)货物信息的查询
3)简单的计算统计功能
2.1系统的功能分析:
1.数据录入:
商品入库和商品出库
2.数据查询:
货物的查询
3.维护系统:
货物数据的修改级删除
2.2.系统性能要求:
1.系统安全、可靠;
2.功能齐全;
3.操作方便、界面友好;
4.易于维护和扩充。
3.1模块框架图
仓库货物管理系统有:
商品入库、商品出库、货物查询、维护系统
3.2各模块功能简介
1货物入库
按
任
意
键
返
回
2查询全部货物
任
3货物查询
物品信息管理系统选择界面
输入数字:
3
返回
查找菜单
4货物数据的修改
5数据的删除
3.3类、函数及说明
classInventory
{
public:
Stock*pHead;
//定义一个头结点
intcount;
//定义数量
Inventory();
//构造函数
~Inventory();
//析构函数
intSave(charfileName[]);
//保存所有项目信息到文件
intLoad(charfileName[]);
//从文件中读取项目信息
voidMenu();
//处理项目信息模块菜单
private:
friendclassOutStocks;
//声明友元类
voidDisplay();
voidAddStock(Stock*);
//添加一个项目
voidAddStocks();
//添加多个项目
intMenuSelect();
//显示和处理项目信息模块菜单
};
classStock
protected:
intprice;
//单价
intamount;
//数量
charnum[20];
//编号
charname[20];
//品名
Stock(void);
Stock*next;
//定义next指针
voidSetNum(char[]);
//声明初始化编号函数
char*GetNum();
//获得编号函数
voidSetName(char[]);
//初始化名称函数
char*GetName();
//获得名称函数
voidSetPrice(int);
//声明初始化价格函数
intGetPrice();
//获得价格函数
voidSetAmount(int);
//初始化数量函数
intGetAmount();
//获得数量函数
voidInput(char*a);
//声明输入函数
voidAdd(int);
//声明添加函数
voidOut(int);
//声明出库函数
voidUpdate();
//声明更新函数
//声明打印函数
第4章不足分析与总结
4.1不足分析
1.界面不够美观(界面编辑不是特别熟悉,暂时不制作界面)
2.程序只适应与单机,与网络无关联,建议以后增加网络功能
3.可能会有部分漏洞,需要修补改进
4.2总结
经过三周的课程设计,虽然完成了仓库管理系统的设计,但是不可否认,其中还有有很多的不足,在本次设计中,只实现了其基本功能,很多强大的功能还没有实现,仓库管理系统是企业信息管理中不可缺少的一部分,所以要实现它完整的功能还需要很多的改进,比如运用数据库。
在这次课设中运用了面向对象的编程语言C++,通过定义类和对象,以及类的属性和方法实现基本功能,如出库和入库。
这使得我们更进一步熟悉了面向对象机制。
在这次课程设计中,由于对专业知识的掌握不够,我们遇到了很多问题,得到了老师和同学的帮助,借此感谢帮助过我们的老师和同学。
总之,通过课程设计,使我们能把理论知识运用于实践,做出符合实际要求的软件.
附录一
参考资料
《C++程序设计》清华大学出版社
《标准c++库大全》电子工业出版社
《VisualC++6.0编程基础与范例》电子工业出版社
《VisualC++库大全》电子工业出版社
附录二
源代码
头文件Inventory.h:
#pragmaonce
#include"
Stock.h"
头文件:
Stock.h:
Inventory.cpp:
Search.h"
#include<
fstream>
iomanip>
iostream>
usingnamespacestd;
externSearchSearch;
//寻找Search的定义
Inventory:
:
Inventory()
count=0;
pHead=newStock();
//给头结点分配储存空间
pHead->
next=NULL;
//头结点的下一个节点置空
}
~Inventory()//析构函数
//要将所有节点释放掉
Stock*pCurrent;
//定义一个当前指针
pCurrent=pHead;
//把头结点赋给当前指针
while(pCurrent->
next!
=NULL)//当当前指针指向的下一个节点不为空
{
pHead=pHead->
next;
//头结点后移一个单位
free(pCurrent);
//释放当前节点
pCurrent=pHead;
//头结点赋给当前指针
}
free(pCurrent);
voidInventory:
AddStock(Stock*pCurrent)
charn[5];
=NULL)//当pCurrent下一个节点不为空
pCurrent=pCurrent->
//pCurrent结点后移一个单位
cout<
<
"
\t\t编号:
;
cin>
>
n;
pCurrent->
Input(n);
//调用输入函数
next=newStock();
//给pCurrent下一个结点分配储存空间
pCurrent=pCurrent->
//pCurrent下一个节点为空
count++;
AddStocks()
intn;
\n\t\t请输入入库项目数量:
getchar();
//消除回车符
if(n<
1)
return;
pCurrent=pHead;
//把头结点赋给当前指针
for(inti=1;
i<
=n;
i++)
cout<
\n\t\t"
endl;
AddStock(pCurrent);
system("
pause"
);
Display()
if(count==0)
system("
cls"
\n\n\n\t\t无物品记录。
\n\n\t\t"
库存物品共"
count<
项:
\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"
┃序号编号品名单价数量总价┃\n"
┠─────────────────────────────────────┨\n"
┃┃\n"
for(inti=1;
pCurrent->
next!
=NULL;
i++)
┃"
setfill('
0'
)<
setw(3)<
'
\t'
pCurrent->
Display();
//调用打印函数
┃"
pCurrent=pCurrent->
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"
intInventory:
Save(charfileName[])
ofstreamoFile(fileName,ios:
out|ios:
binary);
//二进制方式写入文件
if(!
oFile)
\t\t文件“"
fileName<
”打开失败!
return0;
oFile.write((char*)&
count,sizeof(int));
while(pCurrent!
=NULL)//pCurrent指针不为空
oFile.write((char*)pCurrent,sizeof(*pCurrent));
oFile.close();
//别忘了关闭文件流
return1;
Load(charfileName[])
ifstreamiFile(fileName,ios:
in|ios:
iFile)
iFile.read((char*)&
if(iFile.peek()!
=EOF)//文件内容不为空
//第一个节点需单独读取
pHead=newStock();
iFile.read((char*)pHead,sizeof(*pHead));
else
pHead=NULL;
//头结点为空
return1;
while(iFile.peek()!
=EOF)//后续节点循环读取
iFile.read((char*)&
(*(pCurrent->
next)),sizeof(*(pCurrent->
next)));
//pCurrent结点后移一个单位
iFile.close();
MenuSelect()
chars[5];
intcn;
┠─────────────物品信息管理───ver0.9测试版────┨\n"
┃1.增加记录┃\n"
┃2.显示全部物品┃\n"
┃3.查找货物信息┃\n"
┃4.修改货物信息┃\n"
┃5.删除货物信息┃\n"
┃6.保存库存记录┃\n"
┃7.读取库存记录┃\n"
┃0.返回┃\n"
\n"
\t\t请按键选择选择:
for(;
)
gets_s(s);
cn=atoi(s);
if(cn>
7)
cout<
\n\t\t输入错误,请按目录选择:
else
break;
returncn;
Menu()
switch(MenuSelect())
{
case1:
AddStocks();
//调用增加函数
case2:
Display();
case3:
:
Search.Menu
(1);
//调用查找函数
case4:
Search.UpdateMenu
(1);
case5:
Search.DeleteMenu
(1);
case6:
if(Save("
Stock.data"
))
cout<
\t\t项目信息保存成功!
else
\t\t项目信息保存失败!
system("
case7:
if(Load("
\t\t项目信息读取成功!
\t\t项目信息读取失败!
case0:
return;
}
Stock.cpp:
Stock:
Stock(void)
amount=0;
next=NULL;
voidStock:
SetNum(charn[])
strcpy_s(num,n);
char*Stock:
GetNum()
returnnum;
SetName(charn[])
strcpy_s(name,n);
GetName()
returnname;
SetPrice(intn)
price=n;
intStock:
GetPrice()
returnprice;
SetAmount(intn)
amount=n;
GetAmount()
returnamount;
Input(char*a)
charch[10];
SetNum(a);
\t\t品名:
ch;
SetName(ch);
\t\t单价:
SetPrice(n);
Add(intn)
amount+=n;
Out(intn)
amount-=n;
Update()
cin.getline(ch,'
\n'
SetNum(ch);
\t\t数量:
SetAmount(n);
<
\t\b\b"
\t\b\b\b\b"
GetPrice()<
\t"
\t"
GetAmount()*GetPrice();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库管理系统的C 编程 仓库 管理 系统