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. [Linux]Ansible自动化运维① - 入门知识

    目录 一.Ansible 概述 1.1 Ansible 是什么 1.2 Ansible 优势 1.3 Ansible 特性 二.Ansible 入门 2.1 Ansible 架构 2.2 Ansibl ...

  2. hadoop学习(一)环境的搭建

    1.安装几台Linux虚拟机.安装的过程就不赘述了,网上教程很多.win7系统上装了一个VMWare,因为一些原因,VMWare版本不是最新的,是VMWare7.1版本,由于VMWare版本不高,所以 ...

  3. 1.3.5、通过Method匹配

    server: port: 8080 spring: application: name: gateway cloud: gateway: routes: - id: guo-system4 uri: ...

  4. 查看python的安装版本,位数及安装路径

    一.想要查看ubuntu中安装的Python路径 方法一:whereis python (用来快速查找任何文件,是一个文件搜索命令,与locate的功能一样.执行whereis python 会将所有 ...

  5. Spring Boot中文文档(官方文档翻译 基于1.5.2.RELEASE)

    作者:Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch, Andy Wilkinson, Marcel Overdijk, ...

  6. 关于vector.size()的一些常见错误总结

    1. 问题引入 通过查看[https://www.cplusplus.com/reference/vector/vector/] 的vector.size()说明,即 member type defi ...

  7. 使用Hugo框架搭建博客的过程 - 页面模板

    前言 最初在制作友链界面时,没有学习Hugo框架,一头雾水.网上有关的教程甚少,只能去学一遍Hugo. 在学习Hugo的过程中,了解了列表模板,分类模板.开发了几个功能页面,如:留言板,友链,记忆分类 ...

  8. KeepAlive详解(转)

    一.什么是KeepAlive? 首先,我们要明确我们谈的是TCP的 KeepAlive 还是HTTP的 Keep-Alive.TCP的KeepAlive和HTTP的Keep-Alive是完全不同的概念 ...

  9. CentOS 8 已经不再支持,Rocky Linux 才是未来

    2020年12月8日,红帽公司宣布,他们将停止开发CentOS,而在此之前CentOS一直作为红帽企业Linux的生产型分支及下游版本,此后他们将转而开发该操作系统的一个更新的上游开发变种,即 &qu ...

  10. adb bat

    @REM 生成随机数@echo off@REM 设置延迟变量setlocal enabledelayedexpansionset min=9set max=21set /a mod=!max!-!mi ...