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
Борланд ругается на строку 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.
Прошу помочь разобраться
#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; }
Решение задачи: «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; } }
Объяснение кода листинга программы
- Объявлены переменные: a (int), b (float), x (float), y (float), z (float).
- Вводится значение переменной a с помощью функции scanf.
- Вводится значение переменной b с помощью функции scanf.
- Вычисляется значение переменной x по формуле 2a+6b.
- Вычисляется значение переменной y по формуле sin(ax)+cos(bx).
- Вычисляется значение переменной z по формуле 2xy-pow(y,2).
- Выводится значение переменной a с помощью функции printf.
- Выводится значение переменной b с помощью функции printf.
- Выводится значение переменной x с помощью функции printf.
- Выводится значение переменной y с помощью функции printf.
- Выводится значение переменной z с помощью функции printf.
- Вызывается функция getch для приостановки выполнения программы до нажатия клавиши.
- Возвращается 0, что означает успешное выполнение программы. Ошибки:
- На 3-ей строке происходит попытка использования функции scanf для чтения значения переменной b с плавающей точкой, что приводит к ошибке E2060. Это может быть связано с тем, что в используемой компиляции отсутствует поддержка стандарта IEC 6059 (C99), который необходим для работы с числами с плавающей точкой в соответствии со стандартом C.
- На 4-ой строке происходит попытка вывода значения переменной a с помощью функции printf в формате с плавающей точкой, что приводит к ошибке E2060.
- На 5-ой и 6-ой строках происходит попытка вывода значения переменной b и x с помощью функции printf в формате с плавающей точкой, что приводит к ошибке E2060.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д