i have to make a program to print out the following:

Enter a principal amount:

1000

Enter an annual interest rate:

7

Your first month of interest will be: $5.83

Enter the number of years your money will be in the bank:

30

You plan to deposit $1000.00 for a term of 30 years.

The total amount of interest you will earn will be $7116.50

Your final balance will be $8116.50.

i have tried numerous things to solve this but everything i do is wrong. my while loop keeps returning extremely large numbers. my code looks like this.

Code:

#include <stdio.h>
int main()
{
double principal, interest_rate, balance, interest;
int months, total_months, total_years;
total_months = 12 * total_years;
months = 1;
balance = interest + principal;
printf("Enter a principal amount:\n");
scanf("%lf", &principal);
printf("Enter an annual interest rate:\n");
scanf("%lf", &interest_rate);
printf("Your first month of interest will be: $%0.2lf\n", interest_rate / 12 * (principal / 100));
printf("Enter the number of years your money will be in the bank:\n");
scanf("%d", &total_years);
printf("You plan to deposit $%0.2lf for a total of %d years.\n", principal, total_years);
while(months <= total_months)
{
interest = principal + (interest_rate / 12 * (principal / 100));
interest += principal;
months++;
}
printf("The total amount of interest you will earn will be %0.2lf\n", interest - principal);
printf("Your final account balance will be %0.2lf\n", balance);
return 0;
}

any help will be greatly appreciated