中南大学库存管理系统c++优质文档.docx
《中南大学库存管理系统c++优质文档.docx》由会员分享,可在线阅读,更多相关《中南大学库存管理系统c++优质文档.docx(33页珍藏版)》请在冰豆网上搜索。
中南大学库存管理系统c++优质文档
中南大学库存管理系统设计(C++)
v题目六:
库存管理系统设计
运用面向对象程序设计知识,利用C++语言设计和实现一个“库存管理系统设计”,主要完成对商品的销售、统计和简单管理。
超市中商品分为四类,分别是食品、化妆品、日用品和饮料。
每种商品都包含商品名称、价格、库存量和品牌等信息。
本系统要求具备如下主要功能:
(1)商品简单管理功能
✧添加功能:
主要完成商品基本信息的添加。
✧查询功能:
可按商品类别、商品名称、生产厂家、进货日期进行查询。
若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!
”。
✧修改功能:
可根据查询结果对相应的记录进行修改。
✧删除功能:
主要完成商品信息的删除。
先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
(2)进货功能
按要求添加相应商品的信息到库存中。
添加进货日期、生产厂家、进货价等信息。
(3)出货功能
出货时,先输入商品类别,然后输入商品名称,并在库存中查找该商品的相关信息。
如果有库存量,输入出货的数量、出货日期,计算销售额和利润。
如果库存量不够,给出提示信息,结束出货。
(4)统计功能
输出当前库存中所有商品的总数及详细信息;能统计每种商品一周时间内的销售额和利润;能统计每类商品的一周时间内的销售额和利润。
输出统计信息时,要按从大到小进行排序。
(根据个人能力,至少实现一种统计功能)
在实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C++语言关于类、继承和封装等核心概念,每一个类应包含数据成员和成员函数。
源代码
#include
#include
#include
#include//用getch();
usingnamespacestd;
classGoods//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Goods类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
public:
Goods(){}
intkind;
charname[20];//哇哈哈
chardate[20];//进货日期
charbrand[10];//品牌
charmanufactor[10];//厂家
floatbuyprice;//进货价;
floatsaleprice;//卖出价;
intamount;//存货数量;
intamount1;//售货数量;
intprofit;//净利润;
Goods*Next;
voidInputAll()//输入全部函数
{
Inputmanufactor();
InputName();
InputKind();
Inputdate();
InputOther();
}
voidInputKind()
{
cout<<"\t\t请选择种类:
";cin>>kind;
}
voidInputName()
{
cout<<"\t\t请输入商品的名称:
";cin>>name;
}
voidInputdate()
{
cout<<"\t\t请输入商品的进货日期:
";cin>>date;
}
voidInputBuyprice()
{
cout<<"\t\t请输入进货价:
";cin>>buyprice;
}
voidInputSaleprice()
{
cout<<"\t\t请输入售出价:
";cin>>saleprice;
}
voidInputAmount()
{
cout<<"\t\t请输入剩余商品数量:
";cin>>amount;
}
voidInputProfit()
{
cout<<"\t\t请输入净利润:
";cin>>profit;
}
voidInputmanufactor()
{
cout<<"\t\t请输入商品厂家:
";cin>>manufactor;
}
voidInputbrand()
{
cout<<"\t\t请输入生产商品牌:
";cin>>brand;
}
voidInputOther()
{
cout<<"\t\t请输入进货价:
";cin>>buyprice;
cout<<"\t\t请输入售出价:
";cin>>saleprice;
cout<<"\t\t请输入存货数量:
";cin>>amount;
cout<<"\t\t请输入商品的厂家:
";cin>>manufactor;
cout<<"\t\t请输入生产商品牌:
";cin>>brand;
profit=0;
}
voidReadFile(istream&in)
{
in>>name>>kind>>date>>manufactor>>buyprice>>saleprice>>amount>>brand>>profit;
}
voidShow()
{
cout<<"商品名:
"<"<"<"<<
amount<"<"<}
};
classGoodsmessage:
publicGoods//﹌﹌﹌﹌﹌﹌﹌﹌﹌Goodsmessage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
public:
Goodsmessage();
~Goodsmessage();
voidshowMenu(intn);
voidFind();
voidSave();
voidModifyItem();
voidRemoveItem();
voidSwap(Goods*,Goods*);
voidPaixu();
voidSaleprice();
//voidChack();
intListCount();
voidDisplay()
{
system("cls");
i=0;
for(Goods*p=Head->Next;p!
=End;p=p->Next)
{
p->Show();
i++;
}
cout<<"共有"<
cout<<"输入任意字符!
返回主菜单";
getch();
}
voidAddItem()//从键盘输入商品信息
{
system("cls");
showMenu
(1);
End->InputKind();
End->InputName();
End->Inputdate();
End->InputOther();
End->Next=newGoods;
End=End->Next;
cout<<"添加成功!
"<Save();
cout<<"输入任意字符!
返回主菜单。
";
getch();
}
private:
Goods*Head,*End;
inti;
ifstreamin;
ofstreamout;
Goods*Findname(char*name)
{
for(Goods*p=Head;p->Next!
=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(!
strcmp(p->Next->name,name))returnp;
returnNULL;
}
Goods*Findkind(intkind)
{
for(Goods*p=Head;p->Next!
=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(p->Next->kind==kind)returnp;
returnNULL;
}
Goods*Finddate(char*date)
{
for(Goods*p=Head;p->Next!
=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(!
strcmp(p->Next->date,date))returnp;
returnNULL;
}
Goods*Findmanufactor(char*manufactor)
{
for(Goods*p=Head;p->Next!
=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(!
strcmp(p->Next->manufactor,manufactor))returnp;
returnNULL;
}
};
Goodsmessage:
:
Goodsmessage()//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
Head=newGoods;
Head->Next=newGoods;
End=Head->Next;
in.open("market.txt");
if(!
in)
cout<<"无商品信息。
请先进货。
"<else
{
while(!
in.eof())
{
End->ReadFile(in);
if(End->name[0]=='\0')break;
End->Next=newGoods;
End=End->Next;
}
in.close();
cout<<"\t\t\t\t读取商品信息成功!
"<<"\n"<}
}
Goodsmessage:
:
~Goodsmessage()//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
//Save();
for(Goods*temp;Head->Next!
=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
deletetemp;
}
deleteHead,End;
}
voidGoodsmessage:
:
showMenu(intn)//菜单//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
{
switch(n)
{
case1:
{
cout<<"******************************************************************