Цикл с шагом на Си

Цикл с шагом на Си
Написать программу вычисления функции y=2*x*x+3*x-5. На Си
x є [-4;4]. Шаг(h)=0.5
Компилятор ошибок не находит, но программа работает неправильно.
Найдите пожалуйста ошибки.

#include
#include
#include
int main()
{
setlocale(LC_ALL, "russian_russia.1251");

float x,y,xn,xk;
float h=0.5;
x=xn;
printf("Введите начальное значение x:n");
scanf("%f",&xn);
printf("Введите конечное значение x:n");
scanf("%f",&xk);
if (xn>=-4&&xk< =4){
while(x < 4)
{y=2*x*x+3*x-5;
x++;
x+=x+h;}
}
else{puts("Вводимое не входитв область");}
printf("nПри х=%f y=%f",x,y);
return 0;
}

  • Что значит "программа работает неправильно"? Конкретизировать можно? Это значительно ускоряет ответ - ведь ты уже знаешь, что неправильно, а нам надо скомпилировать и посмотреть.
    Тут, на вскидку, такая лажа:
    float x,y,xn,xk;//значения всех переменных - хз какие
    ...
    x=xn;//x=xn, а xn - хз что
    ...
    while(x < 4) //пока хз что меньше четырех... а почему хз что меньше 4? Но, может быть, еще что-то есть, искать лень.
  • у тебя там х плюсует 1 и потом еще плюсует 0,5
    (x++;
    x+=x+h;)
    for (x=-4; x< =4;x=x+h)
    y=2*x*x+3*x-5; так нет?)
  • Так она ж написана неправильно - как она будет правильно работать? Где у тебя, допустим, шаг 0.5? Напиши правильно - будет правильно.