仓库管理系统的C 编程Word文件下载.docx

上传人:b****6 文档编号:17291294 上传时间:2022-11-30 格式:DOCX 页数:22 大小:179.24KB
下载 相关 举报
仓库管理系统的C 编程Word文件下载.docx_第1页
第1页 / 共22页
仓库管理系统的C 编程Word文件下载.docx_第2页
第2页 / 共22页
仓库管理系统的C 编程Word文件下载.docx_第3页
第3页 / 共22页
仓库管理系统的C 编程Word文件下载.docx_第4页
第4页 / 共22页
仓库管理系统的C 编程Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

仓库管理系统的C 编程Word文件下载.docx

《仓库管理系统的C 编程Word文件下载.docx》由会员分享,可在线阅读,更多相关《仓库管理系统的C 编程Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

仓库管理系统的C 编程Word文件下载.docx

制作仓库货物管理系统,实现数据录入、数据输出、数据查询等功。

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();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1