C ++ Найти текущее значение с помощью пользовательских данных и показателя степени - PullRequest
0 голосов
/ 18 марта 2020

Мне нужна помощь для расчета приведенной стоимости. Пользователь введет: сумму платежа (payamt), срок (trm) и процентную ставку (intrte). У меня проблемы с вычислением следующего уравнения:

текущая стоимость = сумма платежа * ((1- (1 + процент) ^ - срок) / процентная ставка)

Это мой код до сих пор :

#include <iostream>
using namespace std;

int main()

{
int trm = 0
    ;

double intrte = 0.0
    ;

float payamt = 0.0,
    presVal = 1
    ;

char
    response = '\0'
    ;

    cout << "Would you like to compute a present value? Enter Y for yes; N for no.";
    cin >> response;

    if (response != 'Y') {
        return 0;
    }

    cout << "\nPayment Amount: $";                  //payment in $ and cents for each year
    cin >> payamt;

    cout << "\nTerm (in years): ";                  //term number of years of payments
    cin >> trm;

    cout << "\nInterest Rate (between 0 and 100): ";//interest rate
    cin >> intrte;

    cout << "\n\nThe present value for a payment amount of $" << payamt
    << " and an interest rate of " << intrte
    << "%, and a term of " << trm
    << " years is $" << presVal
    << ".\n\n" << endl;

    presVal == payamt * (1 - ((1 + intrte), (-trm)))/intrte;
}

1 Ответ

1 голос
/ 18 марта 2020

Когда вы включаете cmath (#include <cmath>), вы можете использовать функцию double pow(double base, double exponent), чтобы перевести число в степень другого числа. Более подробную информацию можно найти здесь: http://www.cplusplus.com/reference/cmath/pow/

Ваша формула становится тогда: presVal = payamt * (1 - pow(1+intrte, -trm))/intrte;

...