我的程序
#include <iostream>
#include <stdlib.h>
#include <vector>//向量标准容器
#include <string>
using namespace std;
class Goods
{
private:
char* name;
double price;
public:
void SetGoods(char* _name,double _price)
{
name=_name;
price=_price;
}
void setName(char* _name)
{
name=_name;
}
char* getName()
{
return name;
}
void setPrice(double _price)
{
price=_price;
}
double getPrice()
{
return price;
}
};
class Basket
{
private:
vector<Goods> goodslist;
public:
vector<Goods> addGoods(Goods goods)
{
//goodslist.push_back();
return goodslist;
}
void clear()
{
goodslist.clear();
}
double getTotalPrice()
{
double TotalPrice=0.0;
int TotalPrice_temp;
int num=0;
num=goodslist.size();//获取购物车商品数量
for(int i=0;i<num;i++)
TotalPrice=TotalPrice+goodslist[i].getPrice();//计算总价格
TotalPrice_temp=TotalPrice;
TotalPrice=0;
return TotalPrice_temp;
/*for(int i=0;i<goodslist.size();i++)
{
Totalprice+=goodslist[i].getPrice();
}
return Totalprice;*/
}
bool isEmpty()
{
return goodslist.empty;
}
vector<Goods> getGoodsList()
{
vector<Goods>::iterator it;//打印购物车的名单
for(it=goodslist.begin();it<goodslist.end();it++)
cout<<(*it).getName()<<endl;
return goodslist;
}
};
class Store
{
private:
Goods goods[6];
Basket basket;
public:
Store()
{
goods[1].SetGoods("Bread",1.0);
goods[2].SetGoods("Cocacola",1.0);
goods[3].SetGoods("Beer",1.0);
goods[4].SetGoods("Chocalate",1.0);
goods[5].SetGoods("Pencil",0.5);
goods[6].SetGoods("Notebook",3.0);
}
void start()
{
cout<<" ***********************************************************"<<endl;
cout<<" Welcome to XiaoFang Convenience Store "<<endl;
cout<<" ***********************************************************"<<endl;
cout<<" "<<endl;
}
void exit()
{
cout<<" Thanks! Wish See You Again"<<endl;
}
void checkout()
{
cout<<" ==========================CHECK OUT========================"<<endl;
for(int i=0;i<basket.getGoodsList().size();i++)
cout<< goods[i].getName()<<" $ "<< goods[i].getPrice()<<endl;
cout<<" ==========================================================="<<endl;
cout<<"TOTAL: "<<basket.getTotalPrice()<<endl;
cout<<"THANKS!\n"<<endl;
}
void addGoods(Basket basket)
{
start();
displaymenu();
while(1)//有错
{
int cho;
cin>>cho;
switch(cho)
{
case 1:
cout<<"YOU HAVE SELECTED [Bread], $ 1.0\n"<<endl;
basket.addGoods(goods[1]);
displaymenu();
break;
case 2:
cout<<"YOU HAVE SELECTED [Cocacola], $ 1.0\n"<<endl;
basket.addGoods(goods[2]);
displaymenu();
break;
case 3:
cout<<"YOU HAVE SELECTED [Beer], $ 1.0\n"<<endl;
basket.addGoods(goods[3]);
displaymenu();
break;
case 4:
cout<<"YOU HAVE SELECTED [Chololate], $ 1.0\n"<<endl;
basket.addGoods(goods[4]);
displaymenu();
break;
case 5:
cout<<"YOU HAVE SELECTED [Pencil], $ 0.5\n"<<endl;
basket.addGoods(goods[5]);
displaymenu();
break;
case 6:
cout<<"YOU HAVE SELECTED [Notebook], $ 3.0\n"<<endl;
basket.addGoods(goods[6]);
displaymenu();
break;
case 9:
if(basket.isEmpty())
invalidInput();
checkout();
break;
case 0:
exit();
break;
default:
invalidInput();
break;
}
}
}
void displaymenu()
{
cout<<" 1. Bread 1.0 "<<endl;
cout<<" 2. Cocacola 1.0 "<<endl;
cout<<" 3. Beer 1.0 "<<endl;
cout<<" 4. Chocola 1.0 "<<endl;
cout<<" 5. Pencil 0.5 "<<endl;
cout<<" 6. Notebook 3.0 "<<endl;
cout<<" "<<endl;
cout<<" 9. CHECK OUT "<<endl;
cout<<" 0. EXIT "<<endl;
cout<<"-----------------------------------------------------------"<<endl;
cout<<"PLEASE SELECT A NUMBER:"<<endl;
}
void invalidInput()
{
int tag;
if(tag=0)
cout<<"YOU DIDN'T SELECTED ANY THING!\n"<<endl;
cout<<"INVALID INPUT, PLEASE TRY AGAIN!\n"<<endl;
}
};
void main()
{
Store a;
Basket b;
a.addGoods(b);
}