小芳便利店(c++)Word文档下载推荐.docx
《小芳便利店(c++)Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《小芳便利店(c++)Word文档下载推荐.docx(6页珍藏版)》请在冰点文库上搜索。
}
~Goods()
Goods()
voidGoods:
:
setName(char*_name)
char*p;
inti;
p=_name;
for(i=0;
*p!
='
\0'
;
i++,p++)
name[i]=*p;
//设置商品名字
name[i]='
return;
char*Goods:
getName()
returnname;
//返回名字
setPrice(double_price)
price=_price;
//设置价格
doubleGoods:
getPrice()
returnprice;
//获取价格
intGoods:
getName_size()
p=name;
for(i=1;
i++,p++);
//计算商品名字的长度
returni;
//endofclassGoods
//classBasket
classBasket
vector<
Goods>
goodslist;
voiddisplayBasket();
getGoodsList();
boolisEmpty();
doublegetTotalPrice();
voidclear();
voidaddGoods(constGoods&
);
Basket();
virtual~Basket();
Basket:
Basket()
~Basket()
voidBasket:
addGoods(constGoods&
item)
goodslist.push_back(item);
//添加商品
clear()
goodslist.clear();
//清空购物车
doubleBasket:
getTotalPrice()
doubleTotalPrice=0,TotalPrice_temp;
intnum=0;
num=goodslist.size();
//获取购物车商品数量
for(inti=0;
i<
num;
i++)
TotalPrice=TotalPrice+goodslist[i].getPrice();
//计算总价格
TotalPrice_temp=TotalPrice;
TotalPrice=0;
returnTotalPrice_temp;
boolBasket:
isEmpty()
returngoodslist.empty();
//看购物车是否为空
Basket:
getGoodsList()
iteratorit;
//打印购物车的名单
for(it=goodslist.begin();
it<
goodslist.end();
it++)
cout<
<
(*it).getName()<
endl;
returngoodslist;
displayBasket()//打印购物车商品名单
//设置一个游标
inti,k;
for(it=goodslist.begin(),i=1;
it++,i++)//打印购物车的名单
"
<
i<
>
"
;
(*it).getName()
if((*it).getName_size()<
10)
for(k=0;
k<
10-(*it).getName_size();
k++)
(*it).getPrice()<
//endofclassBasket
//classStore
classStore
goods;
//所有商品
Basketbasket;
//购物篮
staticconstcharMsg_Header[1000];
//菜单顶部
staticconstcharMsg_Footer[1000];
//菜单底部
voidinvalidInput();
voiddisplayMenu();
voidaddGoods(int);
voidcheckout();
voidexit();
voidstart();
Store();
virtual~Store();
constcharStore:
Msg_Header[]=
****************************************************************\n\
WelcometoXiaoFangConvenienceStore\n\
****************************************************************"
Msg_Footer[]=
\n\n----------------------------------------------------------------\n"
Store:
Store()
GoodsBread("
Bread"
1.0);
//初始商品
GoodsCocacola("
Cocacola"
GoodsBeer("
Beer"
GoodsChocalate("
Chocalate"
GoodsPencil("
Pencil"
0.5);
GoodsNotebook("
Notebook"
3.0);
addGoods(Bread);
addGoods(Cocacola);
addGoods(Beer);
addGoods(Chocalate);
addGoods(Pencil);
addGoods(Notebook);
~Store()
voidStore:
start()//系统开始
Msg_Header<
displayMenu();
endl<
9>
checkout\n"
0>
exit"
Msg_Footer<
exit()//离开系统
thanksforusing!
checkout()//结账
basket.getTotalPrice()<
basket.clear();
addGoods(intnum)
if(num==0)
exit();
elseif(num<
1&
&
num>
goods.size())
invalidInput();
//设置一个游标
else
it=goods.begin()+num-1;
basket.addGoods(*it);
item)//添加商品
goods.push_back(item);
return;
displayMenu()//打印商品单
for(it=goods.begin(),i=1;
goods.end();
it++,i++)
invalidInput()//非法输入
nonexistentgoods!
intnum;
cin>
addGoods(num);
displayBasket()
basket.displayBasket();
//打印名单
//endofclassStore
intmain()
charch;
Storestore;
store.start();
//第一次打印商品名单
while(num!
=0)
cout<
PLEASESELECT:
ch;
//输入要选择的商品或结账或退出系统
if(ch=='
9'
)//输入的是9,则结账
system("
cls"
//清屏
THEGOODSYOURBASKETHAVE:
store.displayBasket();
//打印购物车商品清单
TOTALPRICE:
store.checkout();
//结账
ch=getchar();
//读取末尾的换行符
PLEASEPRESSANYKEYTOHAVENEXTSHOPPING"
//清屏前暂停
//重打印列表
num=ch-'
0'
//计算选择的商品号
store.addGoods(num);
return0;