#include<iostream.h>
class CCircle;
struct CPoint
{
unsigned x;
unsigned y;
bool IsInCircle(CCircle*Circle);
};
class CCircle
{
public;
unsigned Radius;
CPoint Center;
};
bool CPiont::IsInCircle(CCircle*Circle)//这段代码定义不是理解请高手详细解释下
{
return (((x-Circle->Center.x)*(x-Circle->Center.x)
+(y-Circle->Center.y)*(y-Circle->Center.y)
)
<=Circle->Radius*Circle->Radius
);
};
void main()
{
CPoint Center;
CPoint Point;
CCircle Circle;
Center x=0
CPiont Point;
CCircle Circle;
Center.x=0;
Center.y=0;
Point.x=2;
Point.y=3;
Circle.Radius=3;
Circle.Center=Center;
if(Point.IsInCircle(&Circle))
cout<<"The point is in the circle."<<endl;
else
cout<<"The point is not in the circle."<<endl;
}
class CCircle;
class CPoint
{
public:
unsigned x;
unsigned y;
bool IsInCircle(CCircle*Circle);
};
class CCircle
{
public:
unsigned Radius;
CPoint Center;
};
bool CPoint::IsInCircle(CCircle*Circle)
{
return (((x-Circle->Center.x)*(x-Circle->Center.x)
+(y-Circle->Center.y)*(y-Circle->Center.y)
)
<=Circle->Radius*Circle->Radius
);
};
void main()
{
CPoint Center;
CPoint Point;
CCircle Circle;
Center.x=0;
Center.y=0;
Point.x=2;
Point.y=3;
Circle.Radius=3;
Circle.Center=Center;
if(Point.IsInCircle(&Circle))
cout<<"The point is in the circle."<<endl;
else
cout<<"The point is not in the circle."<<endl;
}
帮你把代码改好了,能够运行了,平时注意的你拼写问题~~~有什么不明白的,可以继续追问~~追问
我这段代码中主要那里出错了,你改了哪里,还有这段:
bool CPoint::IsInCircle(CCircle*Circle)
{
return (((x-Circle->Center.x)*(x-Circle->Center.x)
+(y-Circle->Center.y)*(y-Circle->Center.y)
)
Radius*Circle->Radius
);
};
麻烦你给详细解释下代码的每句的意思和作用谢谢
知道怎么判断一个坐标点是否在一个圆内么?
x^2+y^2Center.x)*(x-Circle->Center.x)
+(y-Circle->Center.y)*(y-Circle->Center.y)
)
Radius*Circle->Radius
);
成立,则说明点在圆内……就这么简单而已,这只有一句话……
至于说,我改了哪些地方,自己对照着看看不就懂了?
错误应该出现在下面几句里;
CPoint Center;
CPoint Point;
CCircle Circle;
Center x=0
CPiont Point;//重复定义
CCircle Circle;//重复定义
很明显你重复定义了呀
错误应该是
public; ==》public: 分号与冒号搞错了
main()里的这句