求解这个【不存在用户定义的从‘crood’到‘circular’的互相转换应该怎么解决?
#include <iostream>
#include<stdlib.h>
#include<math.h>
#include<time.h>
using namespace std;
struct coord//坐标
{
int x;
int y;
int k;
};
struct Circular//圆
{
double x;
double y;
float radius;
};
void Calculate_cicular(coord a,coord b,coord c)
{
int x1, x2, x3, y1, y2, y3,x,y;
int midpx1 = (x1 + x2) / 2;
int midpy1 = (y1 + y2) / 2;
int midpx2 = (x3 + x1) / 2;
int midpy2 = (y3 + y1) / 2;
double k1 = -(x2 - x1) / (y2 - y1);
double k2 = -(x3 - x1) / (y3 - y1);
x =(midpy1 - midpy2 + k2*midpx2 - k1*midpx1) / (k2 - k1);
y = (k2*midpy1 + k1*k2*midpx2 - k2*k1*midpx1 - k1*midpy2) / (k2 - k1);
int radius = sqrt(pow(x - x1, 2) + pow(y - y1, 2));
double k3 = (double)(x1 - x2) / (y1 - y2);
double k4 = (double)(x1 - x3) / (y1 - y3);
if (k3 == k4)
{
radius = 0;
return ;
}
return;
}
int main()
{
srand(time(NULL));
coord a = { rand() % 256,rand() % 256 };
coord b= { rand() % 256,rand() % 256 };
coord c= { rand() % 256,rand() % 256 };
Circular k = (a, b, c);
if (k.radius == 0)
{
cout << "圆不存在" << endl;
}
else {
cout << "圆心坐标x=" << k.x << "圆心坐标y=" << k.y << "半径=" <<k.radius<<endl;
}
return 0;
}