void CitizenNeeds::sum(const CitizenNeeds *citizenNeeds) { bool needs = false; for (int i = 0; i < citizenNeeds->getFoodCount(); ++i) { for (int j = 0; j < getFoodCount(); ++j) { if (foods[j].getName() == citizenNeeds->getFood(i)->getName()) { foods[j].incValue(citizenNeeds->getFood(i)->getValue()); needs = true; } } if (needs == false) { CharDatum food; food.init(citizenNeeds->getFood(i)->getValue(), citizenNeeds->getFood(i)->getName()); foods.push_back(food); } needs = false; } for (int i = 0; i < citizenNeeds->getGoodCount(); ++i) { for (int j = 0; j < getGoodCount(); ++j) { if (goods[j].getName() == citizenNeeds->getGood(i)->getName()) { goods[j].incValue(citizenNeeds->getGood(i)->getValue()); needs = true; } } if (needs == false) { CharDatum good; good.init(citizenNeeds->getGood(i)->getValue(), citizenNeeds->getGood(i)->getName()); goods.push_back(good); } needs = false; } for (int i = 0; i < citizenNeeds->getServiceCount(); ++i) { for (int j = 0; j < getServiceCount(); ++j) { if (services[j].getName() == citizenNeeds->getService(i)->getName()) { services[j].incValue(citizenNeeds->getService(i)->getValue()); needs = true; } } if (needs == false) { CharDatum service; service.init(citizenNeeds->getService(i)->getValue(), citizenNeeds->getService(i)->getName()); services.push_back(service); } needs = false; } }
int ServiceList::getSize(void) const { return (getServiceCount()); }