Error C2664: невозможно преобразовать аргумент 3 из "float *" в "float - C (СИ)
Формулировка задачи:
Привет всем.
Написал программу по переводу полярных координат в декартовые, вроде всё должно работать, но мешает эта ошибка и я не могу её найти, Help!
#include <math.h> #include <stdio.h> #include <Windows.h> /* Прототиа функции перевода полярных координат в декартовые функция возвращает целое число, которое определяет место точки в декартовой системе */ int polarToCartesian(float, float, float, float); void main() { float x, y,r,phi; for (int i = 0; i < 3; i++){ printf("Введите через пробел две полярных координаты/n"); scanf_s("%f%f", &r, &phi); polarToCartesian(r, phi, &x, &y); } getchar(); getchar(); } /* Описание функции перевода полярных координат в декартовые с определением расположения точки в декартовой системе */ int polarToCartesian(float r, float phi, float *x, float *y) { int n = 0; *x = r*cos(phi); // Расчёт координаты х *y = r*sin(phi); // Расчет координаты у printf("x=%f", &x); printf("y=%f", &y); /* Определения расположения точки в декартовой системе */ if (x == 0 && y == 0) n = 0; if (x != 0 && y == 0) n = -1; if (x == 0 && y != 0) n = -2; if (x > 0 && y > 0) n = 1; if (x < 0 && y > 0) n = 2; if (x < 0 && y < 0) n = 3; if (x > 0 && y < 0) n = 4; switch (n) { case -2: printf("Точка лежит на оси OY"); break; case -1: printf("Точка лежит на оси OX"); break; case 0: printf("Точка лежит в начале координат"); break; case 1: printf("Тока лежит в первой четверти"); break; case 2: printf("Тока лежит во второй четверти"); break; case 3: printf("Точка лежит в третьей четверти"); break; case 4: printf("Тока лежит в четвёртой четверти"); break; } return n; }
Решение задачи: «Error C2664: невозможно преобразовать аргумент 3 из "float *" в "float»
textual
Листинг программы
int polarToCartesian(float r, float phi, float *x, float *y)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д