Mortgage calculator for homework
You use double values for calculations. Especially for money, I would suggest to switch to int and handle it in cents. That way you can avoid problems with floating point precision.
You don't check if cin&gt;&gt; fails or succeeds. If the user doesn't enter a number you may have a problem here. A possible solution might be to let the user reenter the value as long as it isn't correct.

do
{
    cout &lt;&lt; "Enter the current balance of your loan: $";
}
while (!(cin &gt;&gt; balance));

You have a wrong check in the line if (interestRate = .06). You probably meant if (interestRate == .06). Additionally, this check might also be a problem as you do some calculations on interestRate that may cause inprecision (again floating point precision problem).

As you obviously await the user to input the value as int your check should be against 6 before you divide the value with 100.
You have this piece of code:

if (balance &lt; monthlyPayment)
{
    balance = balance - balance;
}


Which is the same as:

if (balance &lt; monthlyPayment)
{
    balance = 0;
}


I think the second version is easier to understand.


I didn't check any more of the code yet. I especially didn't prove it for correctness in you calculations.