Я пишу программу, которая рассчитает ежемесячные платежи за кредит. Однако он не дает правильного ответа. Вот мой код:Расчет погашения кредита в C++
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double YearlyInt, LoanAmount, Payment, AmountPaid, MonthlyInt;
int NumPayments;
cout << "Enter the loan amount (LoanAmount) --> ";
cin >> LoanAmount;
cout << "Enter the YEARLY interest rate as a percentage --> ";
cin >> YearlyInt;
cout << "Enter number of payments --> ";
cin >> NumPayments;
cout << "Loan amount: " << LoanAmount << endl;
cout << "Yearly Interest Rate: " << YearlyInt << "%" << endl;
cout << "Number of Payments: " << NumPayments << endl;
MonthlyInt = YearlyInt/12;
Payment = MonthlyInt * pow ((1 + MonthlyInt), NumPayments)/(pow((1 + MonthlyInt), NumPayments) -1) * LoanAmount;
cout << "Monthly Payment: " << Payment << endl;
AmountPaid = Payment * 36;
cout << "Amount Paid Back: " << AmountPaid << endl;
cout << "Interest Paid: " << (AmountPaid - LoanAmount) << endl;
cout << "Program Over" << endl << endl << endl << endl;
cout << "Press Enter to end -->" << endl;
return 0;
}
Программа использует эту формулу:
MonthlyInt * pow(1 + MonthlyInt, NumPayments) * LoanAmount
Payment = ---------------------------------------------------------------
pow(1 + MonthlyInt, NumPayments) - 1
Это то, что я получаю в качестве выхода:
Enter the loan amount (LoanAmount) --> 10000
Enter the YEARLY interest rate as a percentage --> 12
Enter number of payments --> 36
Loan amount: 10000
Yearly Interest Rate: 12%
Number of Payments: 36
Monthly Payment: 10000
Amount Paid Back: 360000
Interest Paid: 350000
Program Over
Press Enter to end -->
Press any key to continue . . .
Как вы можете видеть, сумма кредита явно неправильно. Как я могу исправить свой код?
«Не давая правильного ответа» на самом деле не говорит нам, чего вы ожидаете от этого. Что вы получаете, и чего хотите? –
Извините, я буду более ясен в будущем. –
Просто отредактируйте вопрос и добавьте информацию. Не нужно жалеть, нужно только что-то исправлять! Бьюсь об заклад, если вы расскажете нам о реальной проблеме, люди, которые будут участвовать в голосовании, добавят голоса назад. –