C++判斷一個點是否在圓內(nèi)的方法
更新時間:2018年05月26日 15:47:56 作者:Fizz_沫燁
這篇文章主要為大家詳細介紹了C++判斷一個點是否在圓內(nèi)的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文為大家分享了C++如何判斷一個點是否在圓內(nèi)的方法,供大家參考,具體內(nèi)容如下
圓的頭文件
#ifndef __CRICLE_H__
#define __CRICLE_H__
#include "point.h"
class Circle
{
public:
//創(chuàng)建圓
void init(int r, int x, int y);
//判斷點是否在 當前圓 內(nèi)
bool inCircle(Point &p);
private:
Point _c;
int _r;
};
#endif// __CRICLE_H__
點的頭文件
#ifndef __POINT_H__
#define __POINT_H__
class Point
{
public:
//創(chuàng)建點
void init(int x, int y);
//測一個點和當前點的距離的平方
int distance(Point &p);
private:
int _x;
int _y;
};
#endif//__POINT_H__
圓的源文件
#include "circle.h"
void Circle::init(int r, int x, int y)
{
_r = r;
_c.init(x, y);
}
bool Circle::inCircle(Point &p)
{
//計算點p和 當前圓圓心c 的距離
int dis = p.distance(_c);
//和半徑比較
if (dis <= _r*_r)
return true;
else
return false;
}
點的源文件
#include "point.h"
void Point::init(int x, int y)
{
_x = x;
_y = y;
}
int Point::distance(Point &p)
{
int dis = (_x-p._x)*(_x-p._x)
+ (_y-p._y)*(_y-p._y);
return dis;
}
main文件
#include <iostream>
#include "circle.h"
#include "point.h"
using namespace std;
int main()
{
//一個點
Point p;
p.init(1,2);
Circle c;
c.init(3, 0, 0);
if (c.inCircle(p))
cout << "在圓內(nèi)" << endl;
else
cout << "在圓外" << endl;
return 0;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
C++開發(fā)之PugiXML庫基礎(chǔ)用法示例詳解
PugiXML庫是一個功能強大、簡單易用的C++ XML解析庫,它提供了一組方便的函數(shù)來解析、創(chuàng)建和修改XML文檔,本文介紹了如何使用PugiXML庫來解析、創(chuàng)建和修改XML文檔,以及如何處理錯誤和異常,感興趣的朋友跟隨小編一起看看吧2024-03-03
學(xué)好C++必須做到的50條 絕對經(jīng)典!
學(xué)好C++必須做到的50條,絕對經(jīng)典!想要學(xué)好C++的朋友一定要認真閱讀本文,更要做到以下50條2016-09-09
C語言執(zhí)行時,程序控制臺輸出窗口 一閃而過問題及解決
這篇文章主要介紹了C語言執(zhí)行時,程序控制臺輸出窗口 一閃而過問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11

