C++实训报告超市库存管理系统方案.docx

上传人:b****8 文档编号:28365773 上传时间:2023-07-10 格式:DOCX 页数:29 大小:296.28KB
下载 相关 举报
C++实训报告超市库存管理系统方案.docx_第1页
第1页 / 共29页
C++实训报告超市库存管理系统方案.docx_第2页
第2页 / 共29页
C++实训报告超市库存管理系统方案.docx_第3页
第3页 / 共29页
C++实训报告超市库存管理系统方案.docx_第4页
第4页 / 共29页
C++实训报告超市库存管理系统方案.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C++实训报告超市库存管理系统方案.docx

《C++实训报告超市库存管理系统方案.docx》由会员分享,可在线阅读,更多相关《C++实训报告超市库存管理系统方案.docx(29页珍藏版)》请在冰豆网上搜索。

C++实训报告超市库存管理系统方案.docx

C++实训报告超市库存管理系统方案

 

实训报告

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<>>>>>>>>>>>>>>>超市库存货物管理系统<<<<<<<<<<<<<<<<<<<<\t\t"

<

<

<

<

<

<

<

<

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)

c

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

当前位置:首页 > 农林牧渔 > 林学

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

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