Задача состояла в том, чтобы создать программу, которая отображает план оплаты для потребителя кредитной карты. Он только должен был работать для положительных остатков.
Код:
#включают
#включают
используя патезрас;
пустая функция()
{
двойной бал; // баланс карты
двойной г; // уровень интереса
двойной тс; // ежемесячная плата
двойной т.пл. // ежемесячно оплата
двойной Ь; // Финансовые расходы
двойной LP; // последний платеж
двойная negbal = 1,0; // будет использоваться, когда бал является <= 0
ИНТ месяц = 0; // счетчик месяц
BOOL hasHeader = ложь; // Я использовал этот переменный, так что я бы не показывать заголовки столбцов в том случае, если карта не может быть погашена
cout.precision (2);
cout.setf (ios_base :: фиксированный);
соиЬ << "Первоначальный баланс? ";
CIN >> БАЛ;
соиЬ << "Процентная ставка? \ Т "; // просить% годовых
CIN >> р;
соиЬ << "Ежемесячная плата? \ Т ";
CIN >> тс;
соиЬ << "Ежемесячно оплата? ";
CIN >> т.пл.
г = г / 12/100; // преобразовать APR в МНР
двойная orbal = BAL; // orbal будет позже представить первоначальный баланс, чтобы проверить, является ли увеличение баланса с течением времени (и, следовательно, не может быть погашено)
делать
{
месяц ++;
к = BAL * г;
BAL = (к + тс + BAL) - Т. пл;
если (orbal < BAL)
{
соиЬ << епсИ << "Карта не может быть погашена." << епсИ;
BAL = 0.0;
}
еще
{
если (hasHeader == ложь)
{
соиЬ << епсИ << "Месяц " << "F / C " << "Баланс" << епсИ;
hasHeader = TRUE;
}
если (БАЛ <= 0)
{
negbal = BAL;
BAL = 0.0;
}
соиЬ << setw (3) << месяц << setw (10) << Ь << setw (12) << БАЛ << епсИ;
если (БАЛ <= 0) // цикл для определения последнего платежа
{
LP = тр + negbal;
соиЬ << епсИ << "Последний платеж был " << Л.П. << епсИ;
}
}
}
в то время как (БАЛ > 0);
система ("Пауза");
}
#включают
используя патезрас;
пустая функция()
{
двойной бал; // баланс карты
двойной г; // уровень интереса
двойной тс; // ежемесячная плата
двойной т.пл. // ежемесячно оплата
двойной Ь; // Финансовые расходы
двойной LP; // последний платеж
двойная negbal = 1,0; // будет использоваться, когда бал является <= 0
ИНТ месяц = 0; // счетчик месяц
BOOL hasHeader = ложь; // Я использовал этот переменный, так что я бы не показывать заголовки столбцов в том случае, если карта не может быть погашена
cout.precision (2);
cout.setf (ios_base :: фиксированный);
соиЬ << "Первоначальный баланс? ";
CIN >> БАЛ;
соиЬ << "Процентная ставка? \ Т "; // просить% годовых
CIN >> р;
соиЬ << "Ежемесячная плата? \ Т ";
CIN >> тс;
соиЬ << "Ежемесячно оплата? ";
CIN >> т.пл.
г = г / 12/100; // преобразовать APR в МНР
двойная orbal = BAL; // orbal будет позже представить первоначальный баланс, чтобы проверить, является ли увеличение баланса с течением времени (и, следовательно, не может быть погашено)
делать
{
месяц ++;
к = BAL * г;
BAL = (к + тс + BAL) - Т. пл;
если (orbal < BAL)
{
соиЬ << епсИ << "Карта не может быть погашена." << епсИ;
BAL = 0.0;
}
еще
{
если (hasHeader == ложь)
{
соиЬ << епсИ << "Месяц " << "F / C " << "Баланс" << епсИ;
hasHeader = TRUE;
}
если (БАЛ <= 0)
{
negbal = BAL;
BAL = 0.0;
}
соиЬ << setw (3) << месяц << setw (10) << Ь << setw (12) << БАЛ << епсИ;
если (БАЛ <= 0) // цикл для определения последнего платежа
{
LP = тр + negbal;
соиЬ << епсИ << "Последний платеж был " << Л.П. << епсИ;
}
}
}
в то время как (БАЛ > 0);
система ("Пауза");
}