小芳便利店(c++).docx
《小芳便利店(c++).docx》由会员分享,可在线阅读,更多相关《小芳便利店(c++).docx(6页珍藏版)》请在冰豆网上搜索。
#include
#include
usingnamespacestd;
//////////////////////////////////////////////////////////////////////
//classGoods
//////////////////////////////////////////////////////////////////////
classGoods
{
public:
intgetName_size();
doublegetPrice();
voidsetPrice(double);
char*getName();
voidsetName(char*);
Goods(char*_name,double_price);
Goods();
virtual~Goods();
private:
doubleprice;
charname[100];
};
Goods:
:
Goods(char*_name,double_price)
{
setName(_name);
setPrice(_price);
}
Goods:
:
~Goods()
{
}
Goods:
:
Goods()
{
}
voidGoods:
:
setName(char*_name)
{
char*p;
inti;
p=_name;
for(i=0;*p!
='\0';i++,p++)
name[i]=*p;//设置商品名字
name[i]='\0';
return;
}
char*Goods:
:
getName()
{
returnname;//返回名字
}
voidGoods:
:
setPrice(double_price)
{
price=_price;//设置价格
return;
}
doubleGoods:
:
getPrice()
{
returnprice;//获取价格
}
intGoods:
:
getName_size()
{
char*p;
inti;
p=name;
for(i=1;*p!
='\0';i++,p++);//计算商品名字的长度
returni;
}
//////////////////////////////////////////////////////////////////////
//endofclassGoods
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//classBasket
//////////////////////////////////////////////////////////////////////
classBasket
{
private:
vectorgoodslist;
public:
voiddisplayBasket();
vectorgetGoodsList();
boolisEmpty();
doublegetTotalPrice();
voidclear();
voidaddGoods(constGoods&);
Basket();
virtual~Basket();
};
Basket:
:
Basket()
{
}
Basket:
:
~Basket()
{
}
voidBasket:
:
addGoods(constGoods&item)
{
goodslist.push_back(item);//添加商品
return;
}
voidBasket:
:
clear()
{
goodslist.clear();//清空购物车
}
doubleBasket:
:
getTotalPrice()
{
doubleTotalPrice=0,TotalPrice_temp;
intnum=0;
num=goodslist.size();//获取购物车商品数量
for(inti=0;iTotalPrice=TotalPrice+goodslist[i].getPrice();//计算总价格
TotalPrice_temp=TotalPrice;
TotalPrice=0;
returnTotalPrice_temp;
}
boolBasket:
:
isEmpty()
{
returngoodslist.empty();//看购物车是否为空
}
vectorBasket:
:
getGoodsList()
{
vector:
:
iteratorit;//打印购物车的名单
for(it=goodslist.begin();itcout<<(*it).getName()<returngoodslist;
}
voidBasket:
:
displayBasket()//打印购物车商品名单
{
vector:
:
iteratorit;//设置一个游标
inti,k;
for(it=goodslist.begin(),i=1;it{
cout<<"<"<";
cout<<(*it).getName()
<<"";
if((*it).getName_size()<10)
for(k=0;k<10-(*it).getName_size();k++)
cout<<"";
cout<<(*it).getPrice()<}
}
//////////////////////////////////////////////////////////////////////
//endofclassBasket
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//classStore
//////////////////////////////////////////////////////////////////////
classStore
{
private:
vectorgoods;//所有商品
Basketbasket;//购物篮
staticconstcharMsg_Header[1000];//菜单顶部
staticconstcharMsg_Footer[1000];//菜单底部
public:
voidinvalidInput();
voiddisplayMenu();
voiddisplayBasket();
voidaddGoods(int);
voidaddGoods(constGoods&);
voidcheckout();
voidexit();
voidstart();
Store();
virtual~Store();
};
constcharStore:
:
Msg_Header[]=
"****************************************************************\n\
WelcometoXiaoFangConvenienceStore\n\
****************************************************************";
constcharStore:
:
Msg_Footer[]=
"\n\n----------------------------------------------------------------\n";
Store:
:
Store()
{
GoodsBread("Bread",1.0);//初始商品
GoodsCocacola("Cocacola",1.0);
GoodsBeer("Beer",1.0);
GoodsChocalate("Chocalate",1.0);
GoodsPencil("Pencil",0.5);
GoodsNotebook("Notebook",3.0);
addGoods(Bread);
addGoods(Cocacola);
addGoods(Beer);
addGoods(Chocalate);
addGoods(Pencil);
addGoods(Notebook);
}
Store:
:
~Store()
{
}
voidStore:
:
start()//系统开始
{
cout<displayMenu();
cout<cout<<"<9>checkout\n";
cout<<"<0>exit";
cout<}
voidStore:
:
exit()//离开系统
{
cout<<"thanksforusing!
"<}
voidStore:
:
checkout()//结账
{
cout<basket.clear();
}
voidStore:
:
addGoods(intnum)
{
vector:
:
iteratorit;
if(num==0)
exit();
elseif(num<1&&num>goods.size())
invalidInput();
//设置一个游标
else
{
it=goods.begin()+num-1;
basket.addGoods(*it);
}
return;
}
voidStore:
:
addGoods(constGoods&item)//添加商品
{
goods.push_back(item);
return;
}
voidStore:
:
displayMenu()//打印商品单
{
vector:
:
iteratorit;//设置一个游标
inti,k;
for(it=goods.begin(),i=1;it{
cout<<"<"<";
cout<<(*