Проверьте пожалуйста программу. почему выдает целое число 0 или 1? С++

Проверьте пожалуйста программу. почему выдает целое число 0 или 1? С++
{float a,b,c,x1,x2,dx,F,j,x,p,n,i;
V1:
printf("nEnter a: " );
scanf("%d", &a);
printf("nEnter b: " );
scanf("%d", &b);
printf("nEnter c: " );
scanf("%d", &c);
printf("nEnter x1: " );
scanf("%d", &x1);
printf("nEnter x2: " );
scanf("%d", &x2);
printf("nEnter dx: " );
scanf("%d", &dx);
p=0;
n=0;
i=0;
if (x1>x2&&dx<0)
{ j=x1;
x1=x2;
x2=j;
dx=dx*(-1.0); }
if (x10)
{ for (x=x1; x< =x2; x+=dx)
{ if (x<5.0&&c!=0)
{ F=a*powf(x,2.0)+powf(b,2.0);}
else { if (x>5.0&&c==0)
F=(x-a)/(a*x);
else { if (c!=0)
F=x/powf(c,2.0);
else
printf("nError"); }
}
i+=1.0;
p*=cosf(F*i);
} printf( "P:%fn", p);
}
else
{ printf( "nError");
goto V1; }
getch();
return 0;

  • в первую очередь в глаза бросается:
    float a
    scanf("%d", &a);

    %d - это целое число, в вашем случае нужно %f

  • Это не вопрос. Реверс-инжинирингом кривого учебного кода ни один человек в здравом уме заниматься не будет; легче будет ответить "потому что эта программа в результатом работы имеет целое число 0 или 1".
    Хочешь получить ответ - задавай вопрос по-человечески, с описанием того, что эта программа должна делать (заданием) , кодом (лучше на pastebin.com или еще где, только чтобы отображалось правильно) и КОНКРЕТНЫМ описанием проблемы ("в таком-то месте я ожидаю такой-то результат, а вместо этого результат вот такой").