C++实训报告超市库存管理系统方案.docx
- 文档编号:5125613
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:26
- 大小:303.79KB
C++实训报告超市库存管理系统方案.docx
《C++实训报告超市库存管理系统方案.docx》由会员分享,可在线阅读,更多相关《C++实训报告超市库存管理系统方案.docx(26页珍藏版)》请在冰豆网上搜索。
C++实训报告超市库存管理系统方案
实训报告
题目:
超市库存管理
院系:
专业:
姓名:
学号:
指导教师:
日期:
一、课题设计
1.设计目的
2.设计要求
二、需求分析
三、系统设计
1.系统采用的关键技术
2.主要类的说明
3.系统模块图
4.函数清单
5.详细设计
五、测试
六、设计心得
七、附录(源程序)
一.课题设计
1.设计目的:
(1)熟悉C++中类的概念、类的封装、继承的实现方式。
(2)了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程。
(3)深对C++的理解与VisualC++环境的使用。
(4)逐步熟悉程序设计的方法,并养成良好的编程习惯。
2.设计要求:
(1)源程序要有适当的注释,使程序容易阅读。
(2)必须用C++中的类,要求命令行界面用文件保存,不得把用数组保存和文件保存相混淆。
(3)设计系统要求用C++语言。
(4)设计的系统不仅要具备四个基本功能—增、删、改、查,还要具备“货物的有关信息数据存盘”的功能。
因此,货物的有关信息数据既可以保存到磁盘文件,今后也可以从磁盘文件随时读出货物的有关信息。
这样做,不仅方便用户使用,也可以避免数据录入。
同时为了考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:
date.dat。
二、需求分析
随着现代生活水平的提高,超市这种便利的服务逐渐与我们的生活息息相关,如何更便利地对超市进行系统和有序的操作,成为了我们需要考虑的问题。
本程序运用C++程序设计了一个超市库存管理系统。
作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能。
所以本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品破损”、“退出系统”这5个基本功能,还可以在相应的硬盘上进行存盘以防止部分数据的丢失。
这样一来,就可以用最简洁的方式实现对货物的管理,也就实现了系统的要求。
3、系统设计
1.系统采用的关键技术
a.仓库管理员类
classadmin
{
public:
admin();
private:
stringname;
};
b.仓库货架类
classshelf
{
public:
shelf();
private:
adminmen;//管理员
stringstoreNo;//仓库编号
stringkinds;//商品大类
stringshelfNo;//货架号
};
2.主要类的说明
(1)使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、商品。
所以系统主要涉及两大类:
仓库类、商品类。
(2)系统框架就是仓库类和商品类的定义。
(3)主函数中定义一个仓库对象,循环显示主菜单并根据用户选择调用仓库类的相应方法(成员函数)。
(4)考虑系统操作的货物信息具有不确定性,所以考虑使用链表保存、处理货物信息。
(5)仓库类包含:
所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量设置,数据存盘等操作的相关模块为成员函数。
所有货物都具有的公共信息及操作可以使用仓库类进行描述。
(6)仓库类包含:
所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量设置,数据存盘等操作的相关模块为成员函数。
所有货物都具有的公共信息及操作可以使用仓库类进行描述。
(7)退出系统:
选择该项,自动退出该系统。
3.系统模块图
4.函数清单:
(1)首页函数:
first_face();
(2)入库函数:
in_storage();
(3)出库函数:
out_storage();
(4)查询函数:
voidselect_ele();//查询
A.按商品名称查函数:
voidselect_name();
B.按商品价格查询函数:
select_price();
C.按大类查询函数:
call_break();
(5)商品报损函数:
call_break();
5.详细设计
1、首页函数:
[charfirst_face()……]
2.新购商品入库函数:
[voidin_storage()……]
3.商品信息删除函数:
[voidout_storage()……]
4.商品信息查询函数:
[voidselect_ele()……]
5.商品报损函数:
[voidcall_break()……]
5、测试
1.系统选择界面
2.商品入库:
3.商品信息存盘:
4.商品查询统计:
5.商品破损:
6.商品出库:
7.系统退出:
6、设计心得
在短短几天的时间里,完成了该系统的设计,对自己来说确实是一个不小的挑战。
本系统的主要功能是管理员对超市库存商品的管理,可以进行查询、删除、添加、修改等操作。
在设计这个超市库存管理系统的过程中,认识到自己所学的知识确实少得有点可怜,编写代码的时候有时会连最基本的语句都想不起来,只有通过查找课本还有网上的一些资料才慢慢进入设计状态。
通过本次超市库存管理系统的设计,认识到了自身C++的基础知识并不扎实,不过也让我再次熟悉数据库的设计过程。
同时,我也能够基本掌握C++程序设计的方法,并且在此基础上掌握类的构造方法,明确类中构造函数、成员函数的建立以及调用,此外,另外,当我结合C++中字符串函数的编译系统给定的库函数,采用一定的逻辑编译,就可以实现系统设计的各项要求,达到设计目的,进而提高自己的C++语言使用水平。
学习是无止境的,要想有所建树就必须要付出比别人更多的努力,希望在以后的学习中可以有更深的认识,以取得更好的成绩!
七、附录(源程序)
//main.cpp
#include
#include
#include
#include
#include
#include
usingnamespacestd;
//仓库管理员类
classadmin
{
public:
admin();
private:
stringname;
};
//仓库货架类
classshelf
{
public:
shelf();
private:
adminmen;//管理员
stringstoreNo;//仓库编号
stringkinds;//商品大类
stringshelfNo;//货架号
};
//electricalclass
classele
{
public:
ele();
private:
stringname;//商品名
doubleprice;//介格
shelfsh;//所属货架
longcount;//商品数量
};
//管理(组合类)
classmana
{
public:
mana();
charfirst_face();//首页
voidin_storage();//入库
voidout_storage();//出库
voidselect_ele();//查询
voidselect_name();//按商品名称查询
voidselect_price();//按商品价格查询
voidselect_kind();//按大类查询
voidcall_break();//商品报损
private:
eleaele;
shelfashelf;
adminabs;
};
//电器类默认构造函数
ele:
:
ele():
sh()
{
name="xxx";//商品名
price=0.0;//介格
count=0;//商品数量
}
//仓库货架类默认构造函数
shelf:
:
shelf():
men()
{
storeNo="xxx";//仓库编号
kinds="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>>kinds; cout< "; cin>>shelfNo; ofstreamstoreFile("store.txt",ios: : app); storeFile< : left)< < < < storeFile.close(); cout< system("pause"); } //出库 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;//仓库编号 stringkinds1;//商品大类 stringshelfNo1;//货架号 longcount1=0;//商品数量 ofstreamtempFile("temp.txt"); while(storeFile>>name1>>price1>>count1>>storeNo1>>kinds1>>shelfNo1) { if(name1==name) flag=true; else { 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||4.返回||"< <<"\t||||"< <<"\t============================================================="< charselect=getch(); switch(select) { case'1': select_name(); break; case'2': select_price(); break; case'3': select_kind(); break; case'4': return; default: break; } } } //按商品名称查询 voidmana: : select_name() { system("cls"); cout< "< cout<<"\t输入商品名: "; stringname; cin>>name; stringname1;//商品名 doubleprice1;//介格 stringstoreNo1;//仓库编号 stringkinds1;//商品大类 stringshelfNo1;//货架号 longcount1=0;//商品数量 ifstreamstoreFile("store.txt"); if(! storeFile) { cout< ! ! "< system("pause"); return; } boolflag=false; cout< <<"商品大类"<<"货架号"< while(storeFile>>name1>>price1>>count1>>storeNo1>>kinds1>>shelfNo1) { if(name1==name) { flag=true; cout< : left)< < < < } } storeFile.close(); if(! flag) cout< ! ! "; cout< system("pause"); } //按商品价格查询 voidmana: : select_price() { system("cls"); cout< "< cout<<"\t输入价格: "; doubleprice; cin>>price; stringname1;//商品名 doubleprice1;//介格 stringstoreNo1;//仓库编号 stringkinds1;//商品大类 stringshelfNo1;//货架号 longcount1=0;//商品数量 ifstreamstoreFile("store.txt"); if(! storeFile) { cout< ! ! "< system("pause"); return; } boolflag=false; cout< <<"商品大类"<<"货架号"< while(storeFile>>name1>>price1>>count1>>storeNo1>>kinds1>>shelfNo1) { if(price1==price) { flag=true; cout< : left)< < < < } } storeFile.close(); if(! flag) cout< ! ! "; cout< system("pause"); } //按大类查询 voidmana: : select_kind() { system("cls"); cout< "< cout<<"\t输入大类名: "; stringkinds; cin>>kinds; stringname1;//商品名 doubleprice1;//介格 stringstoreNo1;//仓库编号 stringkinds1;//商品大类 stringshelfNo1;//货架号 longcount1=0;//商品数量 ifstreamstoreFile("store.txt"); if(! storeFile) { cout< ! ! "< system("pause"); return; } boolflag=false; cout< <<"商品大类"<<"货架号"< while(storeFile>>name1>>price1>>count1>>storeNo1>>kinds1>>shelfNo1) { if(kinds1==kinds) { flag=true; cout< : left)< < < < } } storeFile.close(); if(! flag) cout<<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 报告 超市 库存 管理 系统 方案