E2060 illegal use of floating point - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание: x=2a+6b y=sin(a*x)cos(b*x) z=2x*y-y^2 тип исходных данных: a- целое b - действительное выводимые данные a b x y z
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{ int a;
  float b, x, y, z;
  clrscr();
  printf("Введите a, b :\n");
  scanf("%f",&a);
  scanf("%f",&b);
  x=2*a+6*b;
  y=sin(a*x)+cos(b*x);
  z=2*x*y-y^2;
  printf("\nS = %.2f",a,b,x,y,z);
  getch();
  return 0;
}
Борланд ругается на строку z=2*x*y-y^2 [C++ Error] Unit1.cpp(13): E2060 illegal use of floating point менял float на double, но ничего не изменилось Если удаляю z в целом из программы выдает ошибку [C++ Error] Unit1.cpp(6): E2040 Declaration terminated incorrectly. Прошу помочь разобраться

Решение задачи: «E2060 illegal use of floating point»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main() {
    int a;
    float b, x, y, z;
    clrscr();
    printf("Vvedite a, b :\n");
    scanf("%d",&a);
    scanf("%f",&b); //!!!
    x=2*a+6*b;
    y=sin(a*x)+cos(b*x);
    z=2*x*y-pow(y,2);
    //printf("\na = %4.2f",(float)a);
    printf("\na = %4d",a); //!!!
    printf("\nb = %4.2f",b); //!!!
    printf("\nx = %4.2f",x);
    printf("\ny = %4.2f",y);
    printf("\nz = %4.2f",z);
    getch();
    return 0;
}
}

Объяснение кода листинга программы

  1. Объявлены переменные: a (int), b (float), x (float), y (float), z (float).
  2. Вводится значение переменной a с помощью функции scanf.
  3. Вводится значение переменной b с помощью функции scanf.
  4. Вычисляется значение переменной x по формуле 2a+6b.
  5. Вычисляется значение переменной y по формуле sin(ax)+cos(bx).
  6. Вычисляется значение переменной z по формуле 2xy-pow(y,2).
  7. Выводится значение переменной a с помощью функции printf.
  8. Выводится значение переменной b с помощью функции printf.
  9. Выводится значение переменной x с помощью функции printf.
  10. Выводится значение переменной y с помощью функции printf.
  11. Выводится значение переменной z с помощью функции printf.
  12. Вызывается функция getch для приостановки выполнения программы до нажатия клавиши.
  13. Возвращается 0, что означает успешное выполнение программы. Ошибки:
  14. На 3-ей строке происходит попытка использования функции scanf для чтения значения переменной b с плавающей точкой, что приводит к ошибке E2060. Это может быть связано с тем, что в используемой компиляции отсутствует поддержка стандарта IEC 6059 (C99), который необходим для работы с числами с плавающей точкой в соответствии со стандартом C.
  15. На 4-ой строке происходит попытка вывода значения переменной a с помощью функции printf в формате с плавающей точкой, что приводит к ошибке E2060.
  16. На 5-ой и 6-ой строках происходит попытка вывода значения переменной b и x с помощью функции printf в формате с плавающей точкой, что приводит к ошибке E2060.

Оцени полезность:

8   голосов , оценка 4.375 из 5