c 语言判断两圆位置关系,c++ 判断点和圆位置关系(类的声明和类的实现分开)...

point.h:

#pragma once

class point

{

private:

double p_x, p_y;

public:

void setxy(double x,double y);

double getx();

double gety();

};

advcircle.h:

#pragma once

#include "point.h"

class advcircle

{

private:

double m_x, m_y,m_r;

public:

void set(double x, double y,double r);

int judge(point p);

};

point.cpp:

#include "point.h"

void point::setxy(double x, double y) {

p_x = x;

p_y = y;

}

double point::getx() {

return p_x;

}

double point::gety() {

return p_y;

}

advcircle.cpp:

#include "advcircle.h"

#include "cmath"

void advcircle::set(double x, double y,double r) {

m_x = x;

m_y = y;

m_r = r;

}

int advcircle::judge(point p) {

double dis = hypot(m_x-p.getx(),m_y-p.gety());

if (dis > m_r) return 1;//圆外

else if (dis == m_r) return 2;//圆上

else if (dis < m_r) return 3;//圆内

}

circle_relation_point.cpp:

#include

#include"point.h"

#include"advcircle.h"

using namespace std;

int main()

{

point p; advcircle c1;

double x, y,r;

int jud;

cout << "请输入点的x坐标:" << endl;

cin >> x;

cout << "请输入点的y坐标:" << endl;

cin >> y;

p.setxy(x, y);

cout << "请输入圆心的x坐标:" << endl;

cin >> x;

cout << "请输入圆心的y坐标:" << endl;

cin >> y;

cout << "请输入圆心的半径:" << endl;

cin >> r;

c1.set(x, y, r);

jud = c1.judge(p);

if (jud == 1) cout << "点在圆外" << endl;

else if (jud == 2) cout << "点在圆上" << endl;

else if (jud == 3) cout << "点在圆内" << endl;

system("pause");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值