Ошибка на С++ цикл while

Ошибка на С++ цикл while
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include "conio.h"
#include
int _tmain(int argc, _TCHAR* argv[])
{
setlocale( LC_ALL,"Russian" );
float a,b,c,F,x1,x2,dx,s,x,N=0,k=0,P;
printf ("Введите a, b, c, Хн, Хк, dX:n");
scanf ("%f %f %f %f %f %f", &a, &b, &c, &x1, &x2, &dx);
if (x1>x2&&dx<0){s=x1; x1=x2; x2=s; dx=dx*(-1);}
if (!(x10))
{printf ("Значения не удовлетворяют условию, введите новые значения Хн, Хк, dX:n");
scanf ("%f %f %f", &x1, &x2, &dx);}
{
x=x1;
while (x< =x2)
{if (x<0&&b-x!=0)
{if ((powf(x,2)+b)!=0)
{F=a/(powf(x,2)+b);
printf("x=%.3ft F=%.3fn",x,F);
if (F< =0) N++;
if (F>0) k++;}
else { printf("x=%.3f Функция не имеет значенияn",x);
x+=dx;
P=(N-k)/(N+k);
printf("P=%.3f",P);
continue; }}
{if (x>0&&x+b==0)
{if (x-c!=0)
{F=(powf(x-a,2))/(x-c);
printf("x=%.3ft F=%.3fn",x,F);
if (F< =0) N++;
if (F>0) k++;}
else { printf("x=%.3f Функция не имеет значенияn",x);
x+=dx;
P=(N-k)/(N+k);
printf("P=%.3f",P);
continue; }}
{if (a*x!=0) {F=a*x/powf(b,3)*powf(c,2);
printf("x=%.3ft F=%.3fn",x,F);
if (F< =0) N++;
if (F>0) k++;}
else { printf("x=%.3f Функция не имеет значенияn",x);
x+=dx;
P=(N-k)/(N+k);
printf("P=%.3f",P);
continue; }}}}
return 0;
}}

Получается бесконечный цикл(