Я создал программу ниже для задания. Предполагается, что вы сможете ввести первоначальную основную сумму, минимальную процентную ставку, максимальную процентную ставку и количество лет для накопления процентов.
После тестирования все работает нормально, если только я не ввожу свой максимальный процент как 0,06, 0,6 и т. Д. По какой-то причине он не отображает максимальный процент. Если я ввожу 0,06 в качестве минимального процента, он отображается успешно, а если я использую максимальную сумму процента выше 0,06, он будет отображать сумму 0,06. Никакая другая сумма не представляет для меня проблемы.
Может ли кто-нибудь помочь мне понять, что мне нужно изменить, чтобы исправить это?
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
//variables & named constants
int principal = 0;
double minimumInterest = 0.0;
double maximumInterest = 0.0;
int yearBase = 1;
int years = 0;
double balance = 0.0;
//inputs
cout << "Enter the beginning principal: $";
cin >> principal;
cout << "Enter the minimum interest rate: ";
cin >> minimumInterest;
cout << "Enter the maximum interest rate: ";
cin >> maximumInterest;
cout << "Enter the number of years the interest will accumlate: ";
cin >> years;
//calculations & loop
do
{
cout << "Year " << yearBase << ":" << endl;
for (double rate = minimumInterest; rate <= maximumInterest; rate += .01)
{
balance = principal * pow(1 + rate, yearBase);
//display rate with zero decimal places
cout << fixed << setprecision(0);
cout << " Rate " << rate * 100 << "%: $";
//display balance with two decimal places
cout << setprecision(2) << balance << endl;
}
//update years counter
yearBase +=1;
} while (yearBase <= years);
system("pause");
return 0;
}