Hey guys, I am currently taking a c++ class and I have an assignment that I am really struggling to understand. I kinda have an idea of what the assignment is asking, but I just dont know how to put it together in a program. I dont know where to even start. Here is the assignment:

Your program will ask the user to enter the amount of money they want to borrow, the interest rate, and the monthly payment amount. Your program will then determine how many months it will take to pay off that loan, what the final payment amount will be, and how much interest was paid over that time. If the monthly payment amount isn't high enough to pay off more than one month's interest, your program should notify the user what the minimum monthly payment is.

Your program must use at least 2 functions in addition to main. At least one of these functions must use a call-by-reference parameter.

Here are the rules and some tips:

The user enters the interest rate as an annual percentage rate. You need to convert this annual percentage to a monthly decimal. For example, 12% annual interest is 1% per month, which is 0.01
Your program must allow only positive numbers to be entered by the user, as shown above
This program should mimic the standard way loans work for credit cards, car loans, and home mortgages: Each month the following happens:
The balance (amount owed) is multiplied times the monthly interest rate to determine how much interest is owed this month. This amount of interest is added to the principle (additional debt)
This amount of interest is also added to the total interest so far (to be output at end)
The monthly payment is subtracted from the balance, reducing the amount of debt.
The month is counted (to be output at end)
This is repeated each month until the debt is paid off (balance reaches zero).