C++超市管理系统的设计与实现Word文档格式.docx
《C++超市管理系统的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++超市管理系统的设计与实现Word文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
{public:
charname[20];
charNum[20];
intCnum;
//进货总数
intMnum;
//销售数目
intEnum;
//剩余库存数目
doublePrice;
//单价
charAdd[20];
//产地
doubleSum;
//销售额
Supermarket*Next;
voidInput()
{
cout<
<
"
\t\t请输入商品名:
;
cin>
>
name;
\t\t请输入商品编号:
Num;
\t\t请输入商品进货总数:
Cnum;
\t\t请输入商品销售数目:
Mnum;
\t\t请输入商品剩余库存数目:
Enum;
\t\t请输入商品产地:
Add;
\t\t请输入商品单价:
Price;
Sum=Mnum*Price;
}
voidReadFile(istream&
in)//文件指针
{
name>
Num>
Cnum>
Mnum>
Enum>
Add>
Price>
Sum;
voidShow()
商品名:
name<
endl
<
商品编号:
Num<
进货总数:
Cnum<
销售数目:
Mnum<
剩余库存:
Enum<
endl
产地:
Add<
单价:
Price<
销售额:
Sum<
endl<
endl;
}};
Supermarketmassage类
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();
输入任意字符!
继续……"
getch();
voidAddItem()
End->
Input();
Next=newSupermarket;
End=End->
添加成功!
private:
Supermarket*Head,*End;
ifstreamin;
ofstreamout;
Supermarket*FindItem(char*name)
for(Supermarket*p=Head;
p->
Next!
Next)//匹配成功则返回上一个指针,不成功就返回空
if(!
strcmp(p->
Next->
name,name))
returnp;
returnNULL;
Supermarket*FindNum(char*Num)
for(Supermarket*p=Head;
Next)//匹配成功则返回上一个指针,不成功就返回空
Num,Num))
returnp;
Supermarket*FindAdd(char*Add)
Next)//匹配成功则返回上一个指针,不成就返回空
Add,Add))returnp;
returnNULL;
六、模块分析
模块分析表-1
函数
功能
VoidDisplay()
输出模块信息
Supermarket()
构造函数
~Supermarket()
析构函数
VoidAddItem()
增加商品
VoidRemoveItem()
删除商品
VoidModifyItem()
修改商品
Voidfind()
查找商品
IntListCount()
统计商品
Voidsave()
基础数据存盘
Supermarketmassage
七、比较有特色的函数
Supermarket*FindItem(char*name)//按照姓名查找商品
Supermarket*FindNum(char*Num)//按照编号查找
voidSupermarketmassage:
:
Save()
{out.open("
sort.txt"
);
for(Supermarket*p=Head->
out<
商品名称:
\t\t"
商品产地:
商品单价:
'
\n'
out.close();
八、运行结果
1.运行界面
2.增加
4.显示
5.查找
6.删除
7.修改
8.保存
九、存在的不足与对策
于设计者水平有限及时间等方面的原因,该系统的功能比较简单,只有基础的功能,增删改查,我还添加了几个在我能力范围之内的应用,比如文件,还有就是统计,这些在我能力之内的内容,这个程序我真的把我所学的知识都用上了,所以还有很多待完善的地方,比如登陆界面的密码,还划分管理员与普通用户,这些都是我欠缺的知识,所以我希望在以后的学习中能学到更多的知识,弥补自己不足。
十、程序源代码
#include<
iostream>
fstream>
//文件的使用
string.h>
#include<
conio.h>
//用getch();
usingnamespacestd;
classSupermarket//定义超市类
{
public:
voidShow()//显示模块
};
classSupermarketmassage//定义超市各功能模块类
//显示模块
//查找模块
//修改模块
//删除模块
//统计模块
voidDisplay()//显示
voidAddItem()//添加
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Supermarketmassage:
Supermarketmassage()
Head=newSupermarket;
Head->
End=Head->
in.open("
in)
这是一个新系统,无商品信息。
请先输入。
else
{while(!
in.eof())
{End->
ReadFile(in);
if(End->
name[0]=='
\0'
)
break;
in.close();
\t\t读取商品信息成功!
~Supermarketmassage()
{Save();
for(Supermarket*temp;
Head->
temp=Head->
Next=Head->
deletetemp;
deleteHead,End;
}
voidSupermarketmassage:
ShowMenu()
{cout<
〒〒〒〒〒〒〒〒〒〒☆超市商品管理系统☆〒〒〒〒〒〒〒〒〒〒"
〒〒〒〒〒〒〒★★★★★★★★★★★★★★★★★★〒〒〒〒〒〒〒"
〒〒〒〒〒〒〒〒〒★☆1.增加商品信息☆★〒〒〒〒〒〒〒〒〒"
〒〒〒〒〒〒〒〒〒★☆2.显示商品信息☆★〒〒〒〒〒〒〒〒〒"
〒〒〒〒〒〒〒〒〒★☆3.查找商品信息☆★〒〒〒〒〒〒〒〒〒"
〒〒〒〒〒〒〒〒〒★☆4.删除商品信息☆★〒〒〒〒〒〒〒〒〒"
〒〒〒〒〒〒〒〒〒★☆5.修改商品信息☆★〒〒〒〒〒〒〒〒〒"
〒〒〒〒〒〒〒〒〒★☆0.保存文件退出☆★〒〒〒〒〒〒〒〒〒"
\n\t\t\n\t\t请选择:
Find()//查找模块
{charname[20],Num[10];
intx;
Supermarket*p=NULL;
\n\t\t*********************************\n"
\t\t※1.按商品的名称查找\n\t\t※2.按商品编号查找"
\n\t\t*********************************\n请选择:
x;
switch(x)
{case1:
{cout<
\t\t请输入要查找的商品的名称:
if(p=FindItem(name))
{p->
\t\t没有找到该商品信息!
}break;
case2:
\t\t请输入要查找的商品编号:
if(p=FindNum(Num))
\t\t没有找到该编号的商品!
ModifyItem()//修改信息
{charname[20];
Supermarket*p=NULL;
\t\t请输入要修改的商品名:
\t\t已找到商品的信息,请输入新的信息!
修改成功!
\t\t没有找到!
}}
RemoveItem()//删除信息
Supermarket*p=NULL,*temp=NULL;
\t\t请输入要删除的商品名:
cin>
{temp=p->
Next=p->
\t\t删除成功!
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌统计﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
intSupermarketmassage:
ListCount()//统计当前链表的记录总数,返回一个整数
{if(!
Head)
return0;
intn=0;
n++;
returnn;
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
intmain(){intx,i=0;
boolquit=false;
\t\t§
§
for(i=0;
i<
3;
i++)
cout<
\t\t◎\t\t\t\t\t\t◎"
\t\t◎★★★★【欢迎进入超市商品管理系统】★★★★◎"