im kinda new для программирования c++ и для этого кода im пытается сделать код, который даст количество монет, используемых для создания значения. У меня есть следующий код, но я не знаю, как заставить переменную pence
инициализировать более одного раза для каждого другого значения. Вот код:
int main ()
{
// Declared variables
double value (3.00), pounds (1.00), pence (0.50),
pence (0.20), pence (0.10), pence (0.05),
pence (0.02), pence (0.01);
char again = 'y';
У меня есть остальная часть кода, но это область, где мне нужно ее сортировать.
Как у меня есть более одной переменной?
Проще говоря, вы этого не сделаете. Имена переменных уникальны и не без оснований.
Если вам действительно нужен набор данных, относящихся к тому же имени, тогда создайте массив или вектор с этим именем и соответствующим количеством элементов.
const double value = 3.00;
const std::vector<double> coins = { 1.00, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01 };
Теперь вы можете выполнять всевозможные операции над вашим вектором доступных монетных деноминаций.
На самом деле, я бы предложил std::set
для этого и не использовать плавающие точки, если вам это нужно. Для валюты вам не нужно. Используйте фиксированную точку.
C++ поддерживает только фиксированную точку, где число десятичных знаков равно нулю (т.е. Целые числа), но если мы подсчитываем пенни, то это просто и просто:
const int value = 300; // in pennies!
const std::set<int> coins = { 100, 50, 20, 10, 5, 2, 1 }; // in pennies!