So basiclly I\'m supposed to get this output Enter future value Enter annual int
ID: 3597672 • Letter: S
Question
So basiclly I'm supposed to get this output
Enter future value
Enter annual interest rate
Enter number of years
Present value: $295302.77
Future value: $1000000.00
Annual interest rate: 5.0%
Years: 25
**********
and i get this.How do i fix this?
**************************************************This is my code*********************************************************
#include<iostream>
#include <iomanip>
#include<cmath>
using namespace std;
double futureVal()
{
double futureValue;
cout << "Enter future value ";
cin >> futureValue;
return futureValue;
}
double annualInterest()
{
double interestRate;
cout << "Enter annual interest rate ";
cin >> interestRate;
return interestRate;
}
int numOfYears()
{
int numberYears;
cout << "Enter number of years ";
cin >> numberYears;
return numberYears;
}
double calculatePresentValue(double futureValue, double interestRate, int numberYears)
{
return futureValue/pow((1+interestRate),numberYears);
}
int main()
{
double resultPresentValue;
double futureValue = futureVal();
if (futureValue <= 0)
{
cout << "The future value must be greater than zero ";
return 0;
}
double interestRate = annualInterest();
if (interestRate <= 0)
{
cout << "The annual interest rate must be greater than zero ";
return 0;
}
interestRate = interestRate/100;
int numberYears = numOfYears();
if(numberYears <= 0)
{
cout << "The number of years must be greater than zero ";
return 0;
}
else
resultPresentValue = calculatePresentValue(futureValue, interestRate, numberYears);
{
cout << "Present Value: $" << fixed << setprecision(2) << resultPresentValue << endl;
cout << "Future value: $" << futureValue << endl;
cout << "Annual interest rate: " << fixed << setprecision(1) << interestRate*100 << "%" << endl;
cout << "Years: " << numberYears << endl;
}
return 0;
}
Explanation / Answer
#include<iostream>
#include <iomanip>
#include<cmath>
using namespace std;
double futureVal()
{
double futureValue;
cout << "Enter future value ";
cin >> futureValue;
return futureValue;
}
double annualInterest()
{
double interestRate;
cout << "Enter annual interest rate ";
cin >> interestRate;
return interestRate;
}
int numOfYears()
{
int numberYears;
cout << "Enter number of years ";
cin >> numberYears;
return numberYears;
}
double calculatePresentValue(double futureValue, double interestRate, int numberYears)
{
int months = numberYears;
double interest = interestRate;
return futureValue/(1+interest);
}
int main()
{
double resultPresentValue;
double futureValue = futureVal();
if (futureValue <= 0)
{
cout << "The future value must be greater than zero ";
return 0;
}
double interestRate = annualInterest();
if (interestRate <= 0)
{
cout << "The annual interest rate must be greater than zero ";
return 0;
}
interestRate = interestRate/100;
int numberYears = numOfYears();
if(numberYears <= 0)
{
cout << "The number of years must be greater than zero ";
return 0;
}
else
resultPresentValue = calculatePresentValue(futureValue, interestRate, numberYears);
{
cout << "Present Value: $" << fixed << setprecision(2) << resultPresentValue << endl;
cout << "Future value: $" << futureValue << endl;
cout << "Annual interest rate: " << fixed << setprecision(1) << interestRate*100 << "%" << endl;
cout << "Years: " << numberYears << endl;
}
return 0;
}
I have made changes in your code to match with provided output but I really believe that output provided in image is wrong.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.