1 //点和圆的关系
2 //设计一个圆形类 和一个点类 计算点和圆的关系
3 //点到圆心的距离 == 半径 点在圆上
4 //点到圆心的距离 > 半径 点在圆外
5 //点到圆心的距离 < 半径 点在圆内
6 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比
7 // 计算 可以 两边同时 平方
8 #include <iostream>
9 #include<string>
10 #include"circle.h"
11 #include"point.h"
12
13 using namespace std;
14
15 //点类
16 class Point
17 {
18 public:
19 //设置X
20 void setX(int x)
21 {
22 m_X = x;
23 }
24
25 //获取X
26 int getX()
27 {
28 return m_X;
29 }
30 //设置Y
31 void setY(int y)
32 {
33 m_Y = y;
34 }
35 //获取Y
36 int getY()
37 {
38 return m_Y;
39 }
40
41
42 private:
43
44 int m_X;
45 int m_Y;
46 };
47
48 //圆类
49 class Circle
50 {
51 public:
52 //设置半径
53 void setR(int r)
54 {
55 m_R = r;
56 }
57
58 //获取半径
59
60 int getR()
61 {
62 return m_R;
63 }
64
65 //设置圆心
66 void setCenter(Point center)
67 {
68 m_Center = center;
69 }
70
71 //获取圆心
72 Point getCenter()
73 {
74 return m_Center;
75 }
76
77 private:
78
79 int m_R; //半径
80
81 //在类中可以让另一个类 作为本类种的成员
82 Point m_Center; //圆心
83 };
84
85 //判断点和圆的关系
86
87 void isInCircle(Circle &c, Point &p)
88 {
89 //计算两点之间距离 平方
90 int distance =
91 (c.getCenter().getX() - p.getX()) * (c.getCenter().getX() - p.getX()) +
92 (c.getCenter().getY()- p.getY()) * (c.getCenter().getY() - p.getY());
93
94 //计算半径的平方
95 int rDistance = c.getR() * c.getR();
96
97
98 //判断关系
99
100 if (distance == rDistance)
101 {
102 cout << "点在圆上" << endl;
103 }
104 else if (distance > rDistance)
105 {
106 cout << "点在圆外" << endl;
107 }
108 else
109 {
110 cout << "点在圆内" << endl;
111 }
112
113
114 }
115
116
117 int main()
118 {
119
120 //创建圆
121 Circle c;
122 c.setR(10);
123 Point center;
124 center.setX(10);
125 center.setY(0);
126 c.setCenter(center);
127
128
129
130
131 //创建点
132 Point p;
133 p.setX(10);
134 p.setY(10);
135
136
137 //判断
138 isInCircle(c, p);
139
140
141 }

C++ 1 (只在源文件)//点和圆的关系 //设计一个圆形类 和一个点类 计算点和圆的关系 //点到圆心的距离 == 半径 点在圆上 //点到圆心的距离 > 半径 点在圆外 //点到圆心的距离 < 半径 点在圆内 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 // 计算 可以 两边同时 平方的更多相关文章

  1. C++ 2(将类分文件) //点和圆的关系 //设计一个圆形类 和一个点类 计算点和圆的关系 //点到圆心的距离 == 半径 点在圆上 //点到圆心的距离 > 半径 点在圆外 //点到圆心的距离 < 半径 点在圆内 //点到圆心的距离 获取 ....... (x1 -x2)^2 + (y1-y2)^2 开根号 和半径对比 // 计算 可以 两边同时 平方

    1 源文件 main.cpp 2 //点和圆的关系 3 //设计一个圆形类 和一个点类 计算点和圆的关系 4 //点到圆心的距离 == 半径 点在圆上 5 //点到圆心的距离 > 半径 点在圆外 ...

  2. A Round Peg in a Ground Hole(判断是否是凸包,点是否在凸包内,圆与多边形的关系)

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4628   Accepted: 1434 Description The D ...

  3. 实验二——以点类 Point 为基类设计圆类 Circle

    学习内容:以点类 Point 为基类设计圆类 Circle 示例代码: package 实验二; import java.util.Scanner; class Point{//父类Point pri ...

  4. 以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle

    学习内容:以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle 代码示例: import java.util.Scanner; class Point2{ private dou ...

  5. 外网zabbix-server使用主动模式监控公司内网windows服务器

    外网zabbix-server使用主动模式监控公司内网windows服务器 1.Zabbix Agent active批量调整客户端为主动模式监控将Template OS Windows模板调整为主动 ...

  6. A Round Peg in a Ground Hole - POJ 1584 (判断凸多边形&判断点在多边形内&判断圆在多边形内)

    题目大意:首先给一个圆的半径和圆心,然后给一个多边形的所有点(多边形按照顺时针或者逆时针给的),求,这个多边形是否是凸多边形,如果是凸多边形在判断这个圆是否在这个凸多边形内.   分析:判断凸多边形可 ...

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

    Point.h: #pragma onceclass Point{private: double p_x, p_y;public: void setXY(double x,double y); dou ...

  8. 用shape画内圆外方,形成一个圆形头像

    很多人都有过这样的经历,想要在自己写的程序里,上传一张随便大小形状的照片在程序里显示都是圆形照片,或者是方形,或者是三角形,但是写代码又非常麻烦,这里就有一个也可以实现一样效果的方法,那就是用 lay ...

  9. 个人永久性免费-Excel催化剂功能第102波-批量上传本地图片至网络图床(外网可访问)

    自我突破,在100+功能后,再做有质量的功能,非常不易,相对录制视频这些轻松活,还是按捺不住去写代码,此功能虽小,但功课也做了不少,希望对真正有需要的群体带来一些惊喜. 背景介绍 图床的使用,一般是写 ...

随机推荐

  1. 【LeetCode每日一题 Day 1】1. 两数之和

    大家好,我是编程熊,今天是LeetCode每日一题的第一天,今天的你比昨天更加优秀啦! 题意 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target ...

  2. 时光卷轴,Microsoft大事记

    Our mission is to empower every person and every organization on the planet to achieve more. 2021年6月 ...

  3. 六QT使用mqtt

    QT官方的mqtt是qmqtt,头文件是 #include <qmqttclient.h> 官方的文档地址 https://doc.qt.io/QtMQTT/qmqttclient.htm ...

  4. Ubuntu 更换内核

    Ubuntu 更换内核步骤: 下载内核源码,例如wget https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz 按照需要的环境,sudo ap ...

  5. sonarqube 8.9版本配置发信邮箱

    admin登陆sonarqube系统 安装部署sonarqube 请参见我的安装博文: https://www.cnblogs.com/cndevops/p/14934434.html 配置邮箱 配置 ...

  6. 利用C语言将混乱数字排序(即冒泡排序法)(含思路)

    大一C语言 你没学过吗 这篇可以称的上入门级别的c语言了 当然还有水仙花数,冒泡排序等经典的C语言程序 后面也会逐一更新 尽情期待喔~~~ 冒泡排序法的基本思路为:每次将相邻的两个数比较,将小的调在前 ...

  7. [Kong] key-auth实现对API请求的密钥认证

    目录 1. 配置密钥验证插件 2. 确认插件配置正确 3. 创建cunsumer 4. 给cunsumer提供关键凭证 5. 验证 6. 小结 [前言]: 下面我们将配置key-auth插件以向服务添 ...

  8. Android系统编程入门系列之界面Activity交互响应

    在上篇文章中已经了解到界面Activity的绘制完全依赖其加载的视图组件View,不仅如此,用户的每次触摸操作都可以在界面Activity内接收并响应,也可以直接传递给其中的某个视图View响应.本文 ...

  9. 「AGC034D」 Manhattan Max Matching

    「AGC034D」 Manhattan Max Matching 传送门 不知道这个结论啊... (其实就是菜嘛) 首先 \(O(n^2)\) 的建边显然不太行. 曼哈顿距离有这样一个性质,如果将绝对 ...

  10. 3.Java入门

    一.Java帝国的诞生 一场旷日持久的战争 1.C & C++ 1972年C诞生 贴近硬件(有汇编的一些特点),运行极快,效率极高 操作系统,编译器,数据库,网络系统等 指针(能够直接操作内存 ...