C++判断一个点是否在圆内的方法

 更新时间:2018年05月26日 15:47:56   作者:Fizz_沫烨  
这篇文章主要为大家详细介绍了C++判断一个点是否在圆内的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了C++如何判断一个点是否在圆内的方法,供大家参考,具体内容如下

圆的头文件

#ifndef __CRICLE_H__ 
#define __CRICLE_H__ 
#include "point.h" 
class Circle 
{ 
public: 
  //创建圆 
  void init(int r, int x, int y); 
  //判断点是否在 当前圆 内 
  bool inCircle(Point &p); 
private: 
  Point _c; 
  int _r; 
}; 
 
#endif// __CRICLE_H__ 

点的头文件

#ifndef __POINT_H__ 
#define __POINT_H__ 
 
class Point 
{ 
public: 
  //创建点 
  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 << "在圆内" << endl; 
  else 
    cout << "在圆外" << endl; 
 
  return 0; 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • C++开发之PugiXML库基础用法示例详解

    C++开发之PugiXML库基础用法示例详解

    PugiXML库是一个功能强大、简单易用的C++ XML解析库,它提供了一组方便的函数来解析、创建和修改XML文档,本文介绍了如何使用PugiXML库来解析、创建和修改XML文档,以及如何处理错误和异常,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • 常用的C++标准库头文件小结

    常用的C++标准库头文件小结

    C++标准库定义了一系列函数、宏和对象,以实现跨团队、跨平台的高效且具有卓越性能的标准化 C++ 代码, 本文介绍常用的C++标准库头文件,需要的朋友可以参考下
    2023-11-11
  • C++简单输出钻石菱形图效果

    C++简单输出钻石菱形图效果

    这篇文章主要介绍了C++简单输出钻石菱形图效果,涉及C++简单的数组操作与图形打印技巧,需要的朋友可以参考下
    2016-05-05
  • 学好C++必须做到的50条 绝对经典!

    学好C++必须做到的50条 绝对经典!

    学好C++必须做到的50条,绝对经典!想要学好C++的朋友一定要认真阅读本文,更要做到以下50条
    2016-09-09
  • C语言实现停车管理系统

    C语言实现停车管理系统

    这篇文章主要为大家详细介绍了C语言实现停车管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C语言深入探索浮点数的使用秘密

    C语言深入探索浮点数的使用秘密

    在C语言中,浮点数是一个很重要的类型,浮点数可以使数据更为精确。浮点数说白了就是带有小数点的数。比如1.6 0.0000 765.2等等,浮点数具体是怎么用的呢,让我们一起来看看
    2022-04-04
  • 详解C语言的基本数据类型

    详解C语言的基本数据类型

    这篇文章主要为大家介绍了C语言的基本数据类型,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C++引用的使用与const修饰符

    C++引用的使用与const修饰符

    这篇文章介绍了C++引用使用与const修饰符,引用是给已经定义的变量一个别名,可以简单理解成同一个变量的昵称,既然是昵称或者是别名,显然它和原本的变量名有着同样的效力,所以我们对别名进行修改,原本的变量值也一样会发生变化,下面来看看详细内容,需要的朋友可以参考下
    2021-11-11
  • 老生常谈C++ explicit关键字

    老生常谈C++ explicit关键字

    这篇文章主要介绍了C++ explicit关键字,explicit关键字只需用于类内的单参数构造函数前面,由于无参数的构造函数和多参数的构造函数总是显式调用,这种情况在构造函数前加explicit无意义,需要的朋友可以参考下
    2023-03-03
  • C语言执行时,程序控制台输出窗口 一闪而过问题及解决

    C语言执行时,程序控制台输出窗口 一闪而过问题及解决

    这篇文章主要介绍了C语言执行时,程序控制台输出窗口 一闪而过问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论