仓库管理系统C++课程设计报告.docx
- 文档编号:24315310
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:23
- 大小:43.74KB
仓库管理系统C++课程设计报告.docx
《仓库管理系统C++课程设计报告.docx》由会员分享,可在线阅读,更多相关《仓库管理系统C++课程设计报告.docx(23页珍藏版)》请在冰豆网上搜索。
仓库管理系统C++课程设计报告
《高级语言程序设计》
课程设计报告
设计题目图书管理系统
专业计算机科学与技术
班级
姓名
学号
2007年6月5日
1.设计目的…………………………………………………3
2.设计思想…………………………………………………3
3.类及对象设计……………………………………………4
4.程序源代码………………………………………………5
5.调试记录…………………………………………………16
6.总结………………………………………………………18
仓库管理系统
1.设计目的
通过实习进一步掌握所学的基本知识,学会解决实际问题的方法
2设计题目
1、问题描述(功能要求):
某公司现有以下设备:
普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、增加和删除、保存的功能。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)完成系统总结报告以及系统使用说明书。
2.设计思想
(1)设计classadmin管理库,实现对仓库信息的描叙;classshelf柜台类库实现建立电器资料;classele电器类,实现对电器的描述,电器的编号,货架号,名称,数量,价格等;classmana函数类,实现对电器的入库,查找,出库等。
以下是函数功能表:
函数
功能
charfirst_face()
获取首页
voidshow_storage()
显示储存信息
voidin_storage()
电器入库
voidout_storage()
电器出库
voidselect_ele()
查询电器信息
voidselect_name()
按电器名查询
voidselect_price()
按电器价格查询
voidcall_s()
商品保存
(2)用类的成员函数对链表的数据进行操作,其功能如上表所列。
(3)设计菜单来实现功能设计
1、输入商品
2、商品查找
3、查询入库
4、商品出库
5、退出系统
3.设计类及对象
(1)本程序定义了四个类,定义如下:
classadmin
{
public:
admin();
private:
stringname;
};
classshelf
{
public:
shelf();
private:
stringstoreNo;//仓库编号
stringshelfNo;
adminwe;//货架号
};
classele
{
public:
ele();
private:
stringname;//商品名
doubleprice;//介格
shelfsh;//所属货架
longcount;//商品数量
};
classmana
{
public:
mana();
charfirst_face();//首页
voidshow_storage();//显示
voidin_storage();//入库
voidout_storage();//出库
voidselect_ele();//查询
voidselect_name();//按商品名称查询
voidselect_price();//按商品价格查询
voidcall_s();//商品保存
voidshow_storage1();
private:
adminabs;
eleaele;
shelfashelf;
};
ele:
:
ele():
sh()
{
name="xxx";//商品名
price=0.0;//介格
count=0;//商品数量
}
(2)分别利用类classadmin、classshelf、classele、classmana定义了各自的对象adminabs、shelfsh;eleaele;对其函数进行调用实现各种功能。
(3)主函数实现,调用各种函数。
4.程序源代码
#include
#include
#include
#include
#include
usingnamespacestd;
classadmin
{
public:
admin();
private:
stringname;
};
classshelf
{
public:
shelf();
private:
stringstoreNo;//仓库编号
stringshelfNo;
adminwe;//货架号
};
classele
{
public:
ele();
private:
stringname;//商品名
doubleprice;//介格
shelfsh;//所属货架
longcount;//商品数量
};
classmana
{
public:
mana();
charfirst_face();//首页
voidshow_storage();//显示
voidin_storage();//入库
voidout_storage();//出库
voidselect_ele();//查询
voidselect_name();//按商品名称查询
voidselect_price();//按商品价格查询
voidcall_s();//商品保存
voidshow_storage1();
private:
adminabs;
eleaele;
shelfashelf;
};
ele:
:
ele():
sh()
{
name="xxx";//商品名
price=0.0;//介格
count=0;//商品数量
}
shelf:
:
shelf():
we()
{
storeNo="xxx";//仓库编号
shelfNo="xxx";;//货架号
}
admin:
:
admin()
{
name="xxx";
}
mana:
:
mana():
aele(),ashelf(),abs()
{
}
charmana:
:
first_face()
{
system("cls");
cout< cout< < < < < < < < < < < < < < < returngetch(); } voidmana: : in_storage() { system("cls"); stringname;//商品名 doubleprice;//介格 stringstoreNo;//仓库编号 stringkinds;//商品大类 stringshelfNo;//货架号 longcount=0;//商品数量 cout< "< cout<<"\t商品名称: "; cin>>name; cout< "; cin>>price; cout< "; cin>>count; cout< "; cin>>storeNo; cout< "; cin>>shelfNo; ofstreamstoreFile("store.txt",ios: : app); storeFile< : left)< < < < storeFile.close(); cout< system("pause"); } voidmana: : show_storage(){ boolflag2=false; stringname2;//商品名 doubleprice2;//介格 stringstoreNo2;//仓库编号 stringshelfNo2;//货架号 longcount2=0;//商品数量 ifstreamshowFile("store.txt"); if(! showFile) { cout<<"\t对不起,你的库存为空"< system("pause"); return; } cout< <<""<<"货架号"< while(showFile>>name2>>price2>>count2>>storeNo2>>shelfNo2) { cout< : left)< < < < } showFile.close(); getchar(); } voidmana: : out_storage() { system("cls"); stringname;//商品名 cout< "< cout<<"\t商品名称: "; cin>>name; ifstreamstoreFile("store.txt"); if(! storeFile) { ofstreamstoreFile1("store.txt"); storeFile1.close(); cout< system("pause"); return; } boolflag=false; stringname1;//商品名 doubleprice1;//介格 stringstoreNo1;//仓库编号 stringshelfNo1;//货架号 longcount2; longcount1=0;//商品数量 ofstreamtempFile("temp.txt"); while(storeFile>>name1>>price1>>count1>>storeNo1>>shelfNo1) { if(name1==name) flag=true; while(name1==name) { cout<<"\t请输入要取出的商品数量: "; cin>>count2; count1=count1-count2; break; } tempFile< : left)< < < } tempFile.close(); storeFile.close(); if(! flag) { cout< system("pause"); return; } ofstreamstoreFile1("store.txt"); ifstreamtempFile1("temp.txt"); storeFile1< storeFile1.close(); tempFile1.close(); cout< system("pause"); } //查询 voidmana: : select_ele() { while (1) { system("cls"); cout< cout<<"\t============================================================="< <<"\t||||"< <<"\t||商品查询||"< <<"\t||||"< <<"\t||1.按商品名称查询||"< <<"\t||||"< <<"\t||2.按商品价格查询||"< <<"\t||||"< <<"\t||3.返回||"< <<"\t||||"< <<"\t============================================================="< charselect=getch(); switch(select) { case'1': select_name(); break; case'2': select_price(); break; case'3': return; default: break; } } } voidmana: : select_name() { system("cls"); cout< "< cout<<"\t输入商品名: "; stringname; cin>>name; stringname1;//商品名 doubleprice1;//介格 stringstoreNo1;//仓库编号 stringshelfNo1;//货架号 longcount1=0;//商品数量 ifstreamstoreFile("store.txt"); if(! storeFile) { cout<<"\t对不起,你的库存为空"< system("pause"); return; } boolflag=false; cout< <<"货架号"< while(storeFile>>name1>>price1>>count1>>storeNo1>>shelfNo1) { if(name1==name) { flag=true; cout< : left)< < < < } } storeFile.close(); if(! flag) cout< cout< system("pause"); } voidmana: : show_storage1(){ stringname2;//商品名 doubleprice2;//介格 stringstoreNo2;//仓库编号 stringshelfNo2;//货架号 longcount2=0;//商品数量 ifstreamtempFile3("temp.txt"); while(tempFile3>>name2>>price2>>count2>>storeNo2>>shelfNo2) { cout< : left)< < < < } tempFile3.close; system("pause"); } //按商品价格查询 voidmana: : select_price() { system("cls"); cout< "< cout<<"\t输入价格: "; doubleprice; cin>>price; stringname1;//商品名 doubleprice1;//介格 stringstoreNo1;//仓库编号 stringshelfNo1;//货架号 longcount1=0;//商品数量 ifstreamstoreFile("store.txt"); if(! storeFile) { cout< system("pause"); return; } boolflag=false; cout< <<"货架号"< while(storeFile>>name1>>price1>>count1>>storeNo1>>shelfNo1) { if(price1==price) { flag=true; cout< : left)< < < < } } storeFile.close(); if(! flag) cout< cout< system("pause"); } intmain() { charselect; manamen; while(select=men.first_face()) { switch(select) { case'2': men.show_storage(); break; case'3': men.select_ele(); break; case'1': men.in_storage(); break; case'4': men.out_storage(); break; case'6': men.show_storage1(); case'5': cout<<"\t"<<"谢谢使用"< exit(0); break; default: break; } } return0; } 5.调试纪录 1、电器管理界面 2、程序的主界面以及图书维护界面 3、查找读者功能界面 6.总结 通过这次课程设计,让我了解了更多关于设计时容易出现的错误,而且进一步的认识到平时学习积累的重要性。 在刚进行编译的时候发现了很多的错误,都是平时应该注意的细节问题,还好与同学进行了很好的交流,得以纠正错误。 由于能力问题,我只能设计这个简单的图书管理系统。 它存在很多缺陷,在很多地方都存在不足。 编写程序最重要的是谨慎,认真,因为哪怕是一个字符或一个标点的错误都会导致程序的错误,从而使程序无法调试运行。 由这次编写课程设计的过程中让我更加了解到了自己的不足,那就是对编写程序的经验不足以及对理论知识的掌握不够透彻,以致程序中还存在许多缺点。 如: 在程序中还有部分功能不能按我的意识表达运行,当经人指点还是比较不错的实现了。 参考资料 本程序参考书本: <<C++程序设计课程设计>> <<高级语言C+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 管理 系统 C+ 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)