Я работаю над программой на C, которая может вернуть кредит. yearInt в год интерес loanAmt является общая сумма кредита monthlyPay является ежемесячный платеж numberPay это номер ежемесячного платежаПрограмма, которая ничего не возвращает
По некоторым причинам, когда я запускаю программу, там ничего не показывает, даже я типа в отрицательном номер.
Есть ли все-таки исправить это?
#include <stdio.h>
int main(void)
{
float yearInt = -1;
int loanAmt = -1;
float monthlyPay = -1;
int numberPay = -1;
int count = 0;
while (loanAmt<0)
{
printf("Please enter valid loan value: \n");
scanf("%f", &loanAmt);
}
while (yearInt<0)
{
printf("Please enter valid yearly interest value: \n");
scanf("%f", &yearInt)
}
while (monthlyPay<0)
{
printf("Please enter valid monthly payment value: \n");
scanf("%f", &monthlyPay);
}
while (numberPay<0)
{
printf("Please enter valid number of monthly payments: \n");
scanf("%f", &numberPay);
}
if(loanAmt>monthlyPay)
{
while(count<numberPay)
{
loanAmt = loanAmt*(1 + (yearInt/12)) - monthlyPay;
count += count+1;
}
printf("The amount of last payment is: %.2f\n", loanAmt);
else
printf("The amount of last payment is: %.2f\n", loanAmt);
}
return 0;
}
Переменная loanAmt объявляется как имеющая тип int, но в цикле вы используете спецификатор формата% f. По крайней мере, измените его на% d. while (loanAmt <0) { printf ("Пожалуйста, введите действительное значение кредита: \ n"); scanf ("% f", & loanAmt); } –
Пожалуйста, отредактируйте ваше сообщение и включите код _real_, который скомпилирует (скопируйте/вставьте его). А также отступом. – Lundin