超市管理系统C++.docx

上传人:b****5 文档编号:2830744 上传时间:2022-11-15 格式:DOCX 页数:22 大小:298.41KB
下载 相关 举报
超市管理系统C++.docx_第1页
第1页 / 共22页
超市管理系统C++.docx_第2页
第2页 / 共22页
超市管理系统C++.docx_第3页
第3页 / 共22页
超市管理系统C++.docx_第4页
第4页 / 共22页
超市管理系统C++.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

超市管理系统C++.docx

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

超市管理系统C++.docx

超市管理系统C++

C++程序设计课程设计报告

————超市管理系统

 

班级:

 

 

一.设计题目与要求…………………………………

二.需求分析………………………………………………

三.概要设计…………………………………

四.详细设计……………………………………………

五.测试………………………………………………

六.结论及改进设想…………………………………

 

一、课程设计题目与要求

1.设计题目

超市管理系统

2.系统功能要求

(1)销售功能。

购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。

如果有库存量,输入购买的数量,进行相应计算。

如果库存量不够,给出提示信息,结束购买。

 

(2)商品简单管理功能。

①添加功能:

主要完成商品信息的添加。

②查询功能:

可按商品类别、商品名称、生产厂家进行查询。

若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!

”。

③修改功能:

可根据查询结果对相应的记录进行修改。

④删除功能:

主要完成商品信息的删除。

先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。

 

(3)统计功能。

 

输出当前库存中所有商品的总数及详细信息;

可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。

 

(4)保存功能:

将当前程序中的商品信息存入文件中。

(5)读取功能:

从文件中将商品信息读入程序。

二.需求分析

中小型超市采购的商品一般都成千上万件。

对这些商品进行有效的管理必不可少。

每件商品一般都需要记录商品名、条形码、类别、价格、出厂日期等商品的基本信息。

除此之外,还需要记录商品的其他相关信息,如生产厂家、供货处代码、厂家网址、厂家电话等。

超市商品的相关信息需要存储到文件系统中,一般都需要提供对商品信息的添加、编辑、删除等操作。

超市管理员每天都会记录购进的商品信息,核销过期的商品等。

为了巩固我们所学的C++语言程序设计知识,也为了满足课程设计的要求,我们在对几个中小型超市进行调研的基础上,设计和实现一个小型的超市商品管理系统,提供商品系统的添加、删除、编辑等功能。

同类系统多数使用结构体数组来操作数据,本系统使用链表结构操作数据,提高了数据处理的效率。

 

三.概要设计

1增加商品

2显示商品

3排序统计商品

4查找商品

5删除商品

6修改商品

7安全退出

四.详细设计

1.设计classSupermarket商品类,实现对商品信息的描叙;设计classSupermarketmassage类,实现对商品信息的增加,删除,修改,查询,统计等。

以下是函数功能表:

函数

功能

voidDisplay()

输出商品的信息

Supermarket()

构造函数

~Supermarket()

析构函数

voidAddItem()

增加商品

voidRemoveItem()

删除商品

voidModifyItem()

修改商品

voidFind()

查询商品

intListCount()

统计商品

voidSave()

基础数据存盘

voidSort()

排序商品

Supermarketmassage()

构造函数

(1)用类的成员函数对链表的数据进行操作,其功能如上表所列。

2.设计类及对象

本程序定义了两个类,定义如下:

1)classSupermarket

classSupermarket

{public:

charname[20];

charNum[20];

intCnum;//进货总数

intMnum;//销售数目

intEnum;//剩余库存数目

doublePrice;//单价

charAdd[20];//产地

doubleSum;//销售额

Supermarket*Next;

voidInput()

{

cout<<"\t\t请输入商品名:

";cin>>name;

cout<<"\t\t请输入商品编号:

";cin>>Num;

cout<<"\t\t请输入商品进货总数:

";cin>>Cnum;

cout<<"\t\t请输入商品销售数目:

";cin>>Mnum;

cout<<"\t\t请输入商品剩余库存数目:

";cin>>Enum;

cout<<"\t\t请输入商品产地:

";cin>>Add;

cout<<"\t\t请输入商品单价:

";cin>>Price;

Sum=Mnum*Price;

}

voidReadFile(istream&in)//文件指针

{

in>>name>>Num>>Cnum>>Mnum>>Enum>>Add>>Price>>Sum;

}

voidShow()

{

cout<<"商品名:

"<

<<"商品编号:

"<

<<"进货总数:

"<

<<"销售数目:

"<

<<"剩余库存:

"<

<<"产地:

"<

<<"单价:

"<

<<"销售额:

"<

<

}

};

2)classSupermarketmassage;

classSupermarketmassage

{

public:

Supermarketmassage();

~Supermarketmassage();

voidShowMenu();

voidFind();

voidSave();

voidModifyItem();

voidRemoveItem();

voidSwap(Supermarket*,Supermarket*);

voidSort();

//voidUnpass();

intListCount();

//voidAverage();

voidDisplay()

{

for(Supermarket*p=Head->Next;p!

=End;p=p->Next)

p->Show();cout<<"输入任意字符!

继续……";

getch();

}

voidAddItem()

{

End->Input();

End->Next=newSupermarket;

End=End->Next;

cout<<"添加成功!

"<

继续……";

getch();

}

private:

Supermarket*Head,*End;

ifstreamin;

ofstreamout;

Supermarket*FindItem(char*name)

{

for(Supermarket*p=Head;p->Next!

=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空

if(!

strcmp(p->Next->name,name))returnp;

returnNULL;

}

Supermarket*FindNum(char*Num)

{

for(Supermarket*p=Head;p->Next!

=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空

if(!

strcmp(p->Next->Num,Num))returnp;

returnNULL;

}

Supermarket*FindAdd(char*Add)

{

for(Supermarket*p=Head;p->Next!

=End;p=p->Next)//匹配成功则返回上一个指针,不成就返回空

if(!

strcmp(p->Next->Add,Add))returnp;

returnNULL;

}

};

3.程序源代码

#include

#include

#include

#include//用getch();

usingnamespacestd;

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Supermarket类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

classSupermarket

{public:

charname[20];

charNum[20];

intCnum;//进货总数

intMnum;//销售数目

intEnum;//剩余库存数目

doublePrice;//单价

charAdd[20];//产地

doubleSum;//销售额

Supermarket*Next;

voidInput()

{

cout<<"\t\t请输入商品名:

";cin>>name;

cout<<"\t\t请输入商品编号:

";cin>>Num;

cout<<"\t\t请输入商品进货总数:

";cin>>Cnum;

cout<<"\t\t请输入商品销售数目:

";cin>>Mnum;

cout<<"\t\t请输入商品剩余库存数目:

";cin>>Enum;

cout<<"\t\t请输入商品产地:

";cin>>Add;

cout<<"\t\t请输入商品单价:

";cin>>Price;

Sum=Mnum*Price;

}

voidReadFile(istream&in)//文件指针

{

in>>name>>Num>>Cnum>>Mnum>>Enum>>Add>>Price>>Sum;

}

voidShow()

{

cout<<"商品名:

"<

<<"商品编号:

"<

<<"进货总数:

"<

<<"销售数目:

"<

<<"剩余库存:

"<

<<"产地:

"<

<<"单价:

"<

<<"销售额:

"<

<

}

};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌Supermarketmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

classSupermarketmassage

{

public:

Supermarketmassage();

~Supermarketmassage();

voidShowMenu();

voidFind();

voidSave();

voidModifyItem();

voidRemoveItem();

voidSwap(Supermarket*,Supermarket*);

voidSort();

//voidUnpass();

intListCount();

//voidAverage();

voidDisplay()

{

for(Su

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

当前位置:首页 > 经管营销 > 经济市场

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

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