C ++:interestEarned回来错了

时间:2017-07-01 23:02:50

标签: c++

我正在学习C ++,这是我必须完成的任务,它是完整的,但我的兴趣是没有正确回归,但是bankBalance是正确的所以我只是没有正确显示interestEarned。正如我的老师所说,“获得的总利息:65.50美元”是不正确的,应该显示“120.50美元”。我做错了什么?

console image

这是我的代码:

#include <iostream>
#include <iomanip>
using namespace std;

int main() {

// Variables
int numOfCustomers, numOfMonths = 0;
double bankBalance, depositAmount, withdrawnAmount, interestRate, interestEarned = 0.0;
const int MIN = 0;

// Asking for Number of Customers
cout << "Enter the number of customers: ";
cin >> numOfCustomers;

// Making sure the input was not 0 or lower
while (numOfCustomers <= MIN) {
    cout << "==>Number of customers must be at least 1. Try again: ";
    cin >> numOfCustomers;
}

// Validating each Customer
for (int c = 1; c < (numOfCustomers + 1); c++) {

    // Start of each Customer
    cout << "\nCUSTOMER " << c << ":\n";

    // Asking for Number of Months --
    cout << "Enter the number of months the account has been opened: ";
    cin >> numOfMonths;

    // Making sure the input was not 0 or lower
    while (numOfMonths <= MIN) {
        cout << "==>Number of months must be at least 1. Try again: ";
        cin >> numOfMonths;
    }

    // Asking for Starting Balance --
    cout << "Enter the starting balance: $";
    cin >> bankBalance;

    // Making sure the input was not 0 or lower
    while (bankBalance < MIN) {
        cout << "==>Starting balance can't be negative. Try again: $";
        cin >> bankBalance;
    }

    // Asking for Monthly Interest Rate --
    cout << "Enter the monthly interest rate as a decimal (i.e. 0.05 = 5%): ";
    cin >> interestRate;

    // Making sure the input was not 0 or lower
    while (interestRate < MIN) {
        cout << "==>Monthly interest rate can't be a nagative. Try again: ";
        cin >> interestRate;
    }

    // Validating each Month
    for (int m = 1; m < (numOfMonths + 1); m++) {

        // Deposit Amount
        cout << "\nEnter deposit amount for Month " << m << ": $";
        cin >> depositAmount;
        bankBalance = bankBalance + depositAmount;

        // Withdrawn Amount
        cout << "Enter withdrawn amount for Month " << m << ": $";
        cin >> withdrawnAmount;
        bankBalance = bankBalance - withdrawnAmount;

        // Calculating Interest Earned
        interestEarned = bankBalance * interestRate;

        // Complete bankBalance
        bankBalance = bankBalance + interestEarned;
    }

    // Account Summary
    cout << "\nACCOUNT SUMMARY" << endl;
    cout << fixed << setprecision(2);
    cout << "Number Months Active: " << numOfMonths << endl;
    cout << "Ending Balance: $" << bankBalance << endl;
    cout << "Total Interest Earned: $" << interestEarned << endl;
}

system("pause");
return 0;
}

1 个答案:

答案 0 :(得分:0)

  

使用在循环之前初始化为零的另一个变量。在循环中,将interestEarned的值添加到它。 - @Peter