Я попытался запустить программу, но она работает неправильно. Проблема в функциях, но я точно не знаю где. Сначала я объявил функции, затем попробовал называть их в основном. Однако я не уверен, что это так. Я думаю, что проблема заключается в определении функции? Но я понятия не имею, что еще делать. Если бы кто-нибудь мог посмотреть на это и указать мне, что это было бы здорово.Функция в моем коде не работает
#include <stdio.h>
#include <math.h>
float computeMonthlyPayment(float p, float YearRate, float YearTerm);
float computeMonthlyInterest(float p, float YearRate);
void printLoanInfo(float p, float MonthlyPayment, float YearRate, float r, float YearTerm, float n);
void printTable(float MonthlyPayment, float p, float YearRate,float YearTerm);
int main()
{
float n, p, r, MonthlyPayment, YearRate, YearTerm;
printf("Enter the loan amount: ");
scanf("%f", &p);
if (p <= 0.0)
printf("\nERROR: Invalid rate; must be greater than 0\n");
while (p <= 0.0)
{
printf("\nEnter the loan amount: ");
scanf("%f", &p);
}
printf("\nEnter annual interest rate: ");
scanf("%f", &YearRate);
if (YearRate <= 0.0 || YearRate > 30.0)
printf("\nERROR: Invalid rate; must be > 0.0 amd <= 30.0.\n");
while (YearRate <= 0.0 || YearRate > 30.0)
{
printf("\nEnter annual interest rate: ");
scanf("%f", &YearRate);
}
printf("\nEnter the term of the loan (in years): ");
scanf("%f", &YearTerm);
if (YearTerm <= 0.0)
printf("\nERROR: Invalid rate; must be greater than 0\n");
while (YearTerm <= 0.0)
{
printf("\nEnter the term of the loan (in years): ");
scanf("%f", &YearTerm);
}
float computeMonthlyInterest(float p, float YearRate);
float computeMonthlyPayment(float p, float YearRate, float YearTerm);
void printLoanInfo(float p, float MonthlyPayment, float YearRate, float r, float YearTerm, float n);
return 0;
}
float computeMonthlyPayment(float p, float YearRate, float YearTerm)
{
float r = YearRate/12;
float n = YearTerm*12;
float MonthlyPayment = 0;
MonthlyPayment = (r*p)/1-((1+r)/n);
return MonthlyPayment;
}
float computeMonthlyInterest(float p, float YearRate)
{
float r = 0;
r = ((YearRate)/12)/12;
return r;
}
void printLoanInfo(float p, float MonthlyPayment, float YearRate, float r, float YearTerm, float n)
{
printf("LOAN INFORMATION\n");
printf("-----------------------\n");
printf("Initial loan amount: %.2f\n", p);
printf("Annual interest rate: %.3f\n", YearRate);
printf("Monthly interest rate: %.3f\n", r);
printf("Term of loan (years): %f\n", YearTerm);
printf("Term of loan (months): %f\n", n);
printf("Monthly payment amount: %.2f\n", MonthlyPayment);
}
Вы должны быть * lot * более конкретным, чем это. Высказывание «проблема в функциях» немного напоминает механика самолета, говорящего: «Проблема внутри самолета где-то». Когда вы говорите, что ваша программа не работает, что вы имеете в виду? Не удается ли его скомпилировать? Если это так, вам нужно сообщить подробности об ошибке. Если нет, вам необходимо предоставить информацию о предоставляемых вами входах и ожидаемых выходах вместе с фактическими выходами. Еще лучше, предоставьте MVCE (http://stackoverflow.com/help/mcve) –
В будущем, пожалуйста, объясните, что такое предполагаемое поведение вашей программы и что она на самом деле делает; если он не скомпилируется, а затем сообщите нам, какие сообщения об ошибках, предоставленные вашим компилятором.Хотя проблема здесь стоит, когда вы начинаете ее искать, это не всегда так. И даже если кто-то сталкивается с проблемой, когда они пытаются запустить ваш код, нет никакого способа определить, является ли это той же проблемой, с которой вы столкнулись. Благодарю. –