2015-11-05 4 views
-3

В моей программе программы mortay (я пишу ее в своем собственном файле C, а затем помещаю ее в большую программу), она отображает ежемесячный платеж в размере $ 0, потому что, когда я прошу срок погашения, он пропускает запрос меня за вход и просто идет прямо к ответу. Кроме того, не имеет отношения, но есть ли способ сказать, что «у меня тоже есть этот вопрос» на чужой, потому что там много подобных программ (у мошенников много вопросов), или это лучший способ? Я не хочу загромождать сайт.Отладка ипотечной программы

Edit: теперь он говорит "ошибка Segementation" после того, как я поставил 24 в течение сроков Mortage (24 месяцев)

Edit: теперь он говорит -0.0000 для оплаты

int main() 
{ 
    double x, m, n, r, p, y =0; //m is monthly payment, x is pow 

    printf("Enter principal amount now: "); 
    scanf("%d", &p); 

    printf("Enter interest rate (0.01 = 1%) now: "); 
    scanf("%lf", &r); 

    printf("Enter payment period in months now: "); 
    scanf("%lf",&n); 

    printf("Calculating... "); 

    //m = p [ r(1 + r)^n ]/[ (1 + r)^n - 1]; // mortage formula 

    x= 1+r; 

    y = pow(x, n);//call pow function 

    m= (p*(r*y))/(y-1); 



    printf("The monthly payment for your mortage is: %lf \n",m); //display mortage monthly payment 

} 


double pow(double x, double n) 
{ 

//double y =0; 
//base=x; 
//exp=n; 
return(0); 

} 
+4

'// вызов мощн function', что на самом деле не так, как вы вызываете функцию. Лучше вернуться к своей учебной книге, так как это довольно простой провал. – usr2564301

+0

'double pow (double x, double n); // вызов функции pow' искать декларации vs определения vs вызовы функций. – tangrs

+0

это незаконченная, хотя, но почему она пропускает ожидания, чтобы позволить мне положить в срок? Он ждет моего ввода в 2 предыдущих. – Jite

ответ

1

Вы не правильно вызовите функцию pow.

Изменить вызов функции пау к:

y = pow(x, n); //call pow function 
+0

спасибо, что я обнаружил, что после того, как я разместил вопрос (я забыл удалить эту декларацию pow и заменить ее на pow;), но я не думал, что это приведет к пропуску последнего scanf lol – Jite