回 帖 发 新 帖 刷新版面

主题:菜鸟求助c++类

class point 
{
public:
void setxy(double _x,double _y);
double dist(point &p);
double getx();
double gety();
private:
double x,y;
};

#include"point.h"
#include"math.h"
void point::setxy(double _x,double _y)
{

x=_x;

y=_y;
}
double point::getx()
{

return x;
}
double point::gety()
{

return y;
}
double point::dist(point &p)
{

return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}

class circle  
{
public:

void setcircle(point &c,double &r);

bool isincircle(point &p);

point getc();

double getr();
private:
point center;
double radius;
};
#include"point.h"
#include"circle.h"
void circle::setcircle(point &c,double &r)
{

center=c;

radius=r;
}
point circle::getc()
{

return center;
}
double circle::getr()
{

return radius;
}
bool circle::isincircle(point &p)
{

double d;

d=center.dist(p);

if(d>radius)


return false;

else 


return true;
}
#include"point.h"
#include"circle.h"
#include<iostream>
using namespace std;
void main()
{

circle c;

point center,p;

double x,y,r;

cin>>x>>y>>r;

center.setxy(x,y);

c.setcircle(center,r);

cin>>x>>y;

p.setxy (x,y);
    if(d==r+p.r)


cout>>"1";

else if(d>r+p.r)


cout>>"2";

else if(d=r-p.r)


cout>>"3";

else 


cout>>"4";

如果两个圆相切输出1,两个圆相离输出2、两个圆包含输出3、两个圆相交输出4。

这是我写的求两圆位置关系的代码,好像还有很多错误,是未定义什么的,但是我不是定义过的??求助,实验报告马上就要交了。

回复列表 (共6个回复)

沙发


进来的大神都帮帮忙,代码有点长,但不难的,

板凳

d是什么?没定义啊。。
另外,不能直接输出“1”或‘1’这样的字符,先把他们放进变量中再输出,,

3 楼

还有输出是<<,不是>>..

4 楼

point中没有成员r。。楼主,你没定义啊。。

5 楼

学习中

6 楼


确实有很多错误,我现在已经知道怎么改了,谢谢大家了

我来回复

您尚未登录,请登录后再回复。点此登录或注册