C++语言题目4

//超市每天卖出的货物假如有egg,apple,pear三种,销售账目存储在了字典里,如下:
//account = [{"egg":[5.00, 3, "s"], 
//"apple":[2.50, 5, "s"], 
//"pear":[4.50, 2, "s"]},
//{"egg":[6.00, 3, "s"], 
//"apple":[3.00, 15, "q"], 
//"pear":[6.50, 2, "s"]},
//{"egg":[5.50, 5, "s"], 
//"apple":[3.50, 5, "s"], 
//"pear":[5.00, 6, "q"]},
//{"egg":[5.00, 3, "s"], 
//"apple":[2.50, 6, "s"], 
//"pear":[5.50, 2, "q"]},
//{"egg":[5.50, 8, "q"], 
//"apple":[3.50, 5, "s"], 
//"pear":[5.50, 3, "s"]}]
//每天的账目是列表中的一个元素,包括一个字典,字典的键是货物名称,字典的值的第一个元素是单价,
//第二个元素是数目,第三个元素,如果是s表示该账目没有任何疑问,如果是q表示该账目可能有错误。
//我们要做的是事情是统计每种货物,没有任何疑问的账目的销售总额。也就是对标志位为"s"的账目,
//按照货物名称,计算销售总额。(自己可根据使用的编程语言,确定存储结构,最后结果在屏幕打印
//egg、apple和pear分别的没有任何疑问的帐目的销售总额就可以。)
#include"iostream"
#include"string"
using namespace std;
class Account
{
private:
  string name;
  double price;
  float number;
  char flag;
public:
  Account(string goodsname, double goodsprice, float goodsnumber, char goodsflag)
  {
    name = goodsname;
    price = goodsprice;
    number = goodsnumber;
    flag = goodsflag;
  }
  double getTotalPrice()
  {
    return price*number; 
  }
  string getName()
  {
    return name;
  }
  char getFlag()
  {
    return flag;
  }
};
int main()
{
  Account accounts[15] = {
    Account("egg",5.00,3,'s'),
    Account("apple",2.50,5,'s'),
    Account("pear",4.50,2,'s'),
    Account("egg",6.00,3,'s'),
    Account("apple",3.00,15,'q'),
    Account("pear",6.50,2,'s'),
    Account("egg",5.50,5,'s'),
    Account("apple",3.50,5,'s'),
    Account("pear",5.00,6,'q'),
    Account("egg",5.00,3,'s'),
    Account("apple",2.50,6,'s'),
    Account("pear",5.50,2,'q'),
    Account("egg",5.50,8,'q'),
    Account("apple",3.50,5,'s'),
    Account("pear",5.50,3,'s')};
  string names[3] = {"egg", "apple", "pear"};
  int i=0;
  int j;
  double count=0;
  for(i=0; i<3; i++)
    {
      count = 0;
      for(j=0; j<15; j++)
	{
	  if((accounts[j].getName() == names[i]) && (accounts[j].getFlag() == 's'))
	    {
	      count = count + accounts[j].getTotalPrice();
	    }
	}
      cout<<names[i]<<"的总价是:"<<count<<endl;
    }
  return 1;
}