2016-09-25 3 views
-1

Я очень новичок в C, и я еще не совсем понял его. Это мое задание, а ниже - мой код.Недействительные операнды в двоичном выражении

Человек инвестирует 1000,00 долларов США на сберегательный счет, приносящий 5%. Предположим, что все проценты оставлены на депозите на счете, рассчитаны и распечатаны сумма денег на счете в конце каждого года в течение 10 лет. Используйте следующую формулу для определения этих сумм:

а = р (1 + г) п

где р первоначальный объем инвестиций, г является процентная ставка, п число лет, а равен сумма на депозите в конце п-го года

#include <stdio.h> 
#include <math.h> 

int main(){ 
    double a, p, n; 
    double r=(1 + (1/20)); 
    p=1000; 

    for(n=1; n<=10; n++){ 
     a = (p*(r)^n); 
     printf("%f, %f, %f\n", a, n,r); 
    } 
    return 0; 
} 

Когда я пытаюсь скомпилировать его, я получаю следующее сообщение об ошибке:

error: invalid operands to binary expression 
    ('double' and 'double') 
      a = (p*(r)^n); 
       ~~~~~^~ 

Может кто-нибудь помочь мне понять, что это значит, и ВГ Я должен это делать? Спасибо!

+1

'^' не является силой. Это побитовое XOR. Вы должны «#include ' и использовать 'p * pow (r, n)'. – Cornstalks

+0

^- недопустимый операнд. Возможно, функция Google pow –

ответ

1

'^' не является силовым оператором. Это немного оперативник. Вам нужно #include <math.h> и вместо этого используйте pow(r, n).