Подумайте, как будут выглядеть структуры данных, которые вы в итоге получите, а затем решите, какие константы или перечисления вам нужны. (Не специалист по налогам, поэтому я немного угадаю здесь)
Налоговые ставки в разных штатах
std::map<std::string, double> stateRates;
stateRates["CA"] = 20.7;
stateRates["MN"] = 1.2;
....
Я не вижу здесь необходимости в константах, хотя некоторые люди перечисляют названия штатов
enum States
{
CA, MN
};
std::map<States, double> stateRates;
stateRates[CA] = 20.7;
stateRates[MN] = 1.2;
Но тогда вам также нужно преобразовать строку CA в enum CA
Но для не табличных данных вам действительно нужны константы
const int EXTRA_TAX_FOR_BIG_HOUSE = 2;
const int BIG_HOUSE_LIMIT = 6000; // sqft
if(houseSize > BIG_HOUSE_LIMIT)
rate += EXTRA_TAX_FOR_BIG_HOUSE;