求解这个【不存在用户定义的从‘crood’到‘circular’的互相转换应该怎么解决?

彪彪喵丶喵星人 2019-08-25 07:53:01
#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;
}


...全文
77 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2019-08-25
  • 打赏
  • 举报
回复
建议先把基本的语法学好。
  • 打赏
  • 举报
回复
引用 2 楼 SuperDay的回复:
Circular k(a,b,c);
嗷谢谢。但还是报错……【无法从“intializer list”转换成“CIrcular”】而且还多了一个应输入“)”是为啥x
铖邑 2019-08-25
  • 打赏
  • 举报
回复
Circular k(a,b,c);
  • 打赏
  • 举报
回复
就是Circular k =(a,b,c)这一行

33,317

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧