题目要求

设计一个圆形类(Circle),和一个点类(Point),
计算并判断点和圆的位置关系。

无分区版 :

#include <iostream>
using namespace std;//设置 点 类
class Point
{private:int p_x;int p_y;public://设置横坐标void setX(int x){p_x = x;}//设置纵坐标void setY(int y){p_y = y;}//输出横坐标int showX(){return p_x;}//输出纵坐标int showY(){return p_y;}
};//设置 圆 类
class Circle
{private://设置圆心Point center;//设置半径int c_R;public://设置圆心void setCenter(Point c){center = c;}//设置半径void setR(int r){c_R = r;}//输出圆心(要用Point类型返回圆心)Point showCenter(){return center;}//输出半径int showR(){return c_R;}
};//全局函数判断点和圆的关系
void isInCircle(Circle &c , Point &p){//利用两点之间距离公式 与 圆的半径进行比较(可以两边都平方)int squareDistance = (c.showCenter().showX() - p.showX()) * (c.showCenter().showX() - p.showX()) +(c.showCenter().showY() - p.showY()) * (c.showCenter().showY() - p.showY());int radius = c.showR();if(squareDistance == radius * radius){cout<<"点在圆上"<<endl;}else if(squareDistance < radius * radius){cout<<"点在圆内"<<endl;} else if (squareDistance > radius * radius){cout<<"点在圆外"<<endl;}
}int main(){//定圆心Point cc;cc.setX(10);cc.setY(0);//定圆心,半径Circle c;c.setR(10);c.setCenter(cc);//定平面内一点Point p;p.setX(10);p.setY(9);//判断 点 与 圆 的位置关系isInCircle(c,p);}

分区版:

  • 分区区间 :

  • point.h :

#pragma once
#include<iostream>
using namespace std;//设置 点 类
class Point
{private:int p_x;int p_y;public://设置横坐标void setX(int x);//设置纵坐标void setY(int y);//输出横坐标int showX();//输出纵坐标int showY();
};
  • point.cpp :
#include "point.h"//设置横坐标
void Point::setX(int x) {p_x = x;
}
//设置纵坐标
void Point::setY(int y) {p_y = y;
}
//输出横坐标
int Point::showX() {return p_x;
}
//输出纵坐标
int Point::showY() {return p_y;
}
  • circle.h :
#pragma once
#include <iostream>
#include "point.h"
using namespace std;
//设置 圆 类
class Circle
{private://设置圆心Point center;//设置半径int c_R;public://设置圆心void setCenter(Point c);//设置半径void setR(int r);//输出圆心(要用Point类型返回圆心)Point showCenter();//输出半径int showR();
};
  • circle.cpp
#include "circle.h"//设置圆心
void Circle::setCenter(Point c) {center = c;
}
//设置半径
void Circle::setR(int r) {c_R = r;
}
//输出圆心(要用Point类型返回圆心)
Point Circle::showCenter() {return center;
}
//输出半径
int Circle::showR() {return c_R;
}
  • 主函数.cpp
#include "point.h"
#include "circle.h"//全局函数判断点和圆的关系
void isInCircle(Circle& c, Point& p) {//利用两点之间距离公式 与 圆的半径进行比较(可以两边都平方)int squareDistance = (c.showCenter().showX() - p.showX()) * (c.showCenter().showX() - p.showX()) +(c.showCenter().showY() - p.showY()) * (c.showCenter().showY() - p.showY());int radius = c.showR();if (squareDistance == radius * radius) {cout << "点在圆上" << endl;}else if (squareDistance < radius * radius) {cout << "点在圆内" << endl;}else if (squareDistance > radius * radius) {cout << "点在圆外" << endl;}
}int main() {//定圆心Point cc;cc.setX(10);cc.setY(0);//定圆心,半径Circle c;c.setR(10);c.setCenter(cc);//定平面内一点Point p;p.setX(10);p.setY(10);//判断 点 与 圆 的位置关系isInCircle(c, p);}

参考资料 :

https://www.bilibili.com/video/BV1et411b73Z

C++实现设计一个圆形类(Circle),和一个点类(Point), 计算并判断点和圆的位置关系相关推荐

  1. C++类实例:判断点和圆的位置关系

    C++学习记录 给定一个点和一个圆,总体有三个位置关系:1.点在圆内:2.点在圆外:3.点在圆上 设计一个C++程序,输入一个圆的坐标和半径,以及一个点的位置坐标,实现相对位置的判断.如下图所示: u ...

  2. 24.2.2直线和圆的位置关系(1)教学设计

    本课通过学生动手画图并实践操作,直观感受直线和圆的三种位置关系.设圆心到直线的距离为d,半径为r,然后归纳d与r的数量关系对应直线和圆的位置关系,利用数形结合让学生理解相关知识. 课堂检测部分设计A组 ...

  3. c++继承与派生(设计一个圆类Circle和一个桌子类Table,另设计一个圆桌类Roundtable,它是前面两个类的派生类,要求编写测试程序给出输出一个圆桌的高度、面积和颜色等数据。)

    #设计一个圆类Circle和一个桌子类Table,另设计一个圆桌类Roundtable,它是前面两个类的派生类,要求编写测试程序给出输出一个圆桌的高度.面积和颜色等数据. #include<io ...

  4. java 圆类 圆锥类_以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone

    学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone 代码示例: import java.util.Scanner; class Point4{ private dou ...

  5. 用canvas绘制一个圆形,实现绕着一个中心运动

    实现效果 使用canvas绘制一个圆形,实现绕着一个中心,轨迹类似于走一个椭圆的轨迹那样路线,并且实现漂浮的效果. 这里只是一个实例Demo,直接运行就可以,下面附上代码: <!doctype ...

  6. 直线与圆位置关系的c语言,直线与圆的位置关系教学设计范文

    直线与圆的位置关系教学设计范文 教学目标: (一) 教学知识点: 1. 了解直线与圆的三种位置关系. 2. 了解圆的切线的概念. 3. 掌握直线与圆位置关系的性质. (二) 过程目标: 1. 通过多媒 ...

  7. c语言在平面直角坐标系中,给定一个圆的圆心坐标Ox,Oy以及半径R,在再给定一个点的坐标PX,Py,请判断这个点与圆的位置关系。

    在平面直角坐标系中,给定一个圆的圆心坐标Ox,Oy以及半径R,在再给定一个点的坐标PX,Py,请判断这个点与圆的位置关系. 输入格式: 先输入三个正整数,分别代表圆心的横纵坐标x,Oy和半径R. 在输 ...

  8. C语言-题目:设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度,面积和颜色等数据。

    #include <iostream> using namespace std; class CCircle { public: CCircle() {}; ~CCircle() {}; ...

  9. C++-题目:设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度,面积和颜色等数据。

    #include <iostream> using namespace std; class CCircle { public: CCircle() {}; ~CCircle() {}; ...

最新文章

  1. Python未来的发展趋势怎么样
  2. 判断人工智能是否可信的“四把尺子”
  3. IT培训“来offer”获得数千万融资
  4. 了解一下MongoDB中的写关注(write concern)
  5. Spring Cloud【Finchley】-15 查看Zuul的路由端点和过滤器
  6. 多进程与多线程的区别 - jihite
  7. maven依赖范围_Maven依赖范围
  8. matlab的pulse使用想法
  9. [leetcode]5325. 包含所有三种字符的子字符串数目
  10. 从大哥大到iPhone13,谈谈移动网络发展
  11. vm centos 网络配置
  12. 高效的敏捷测试第十三课 自动化测试、用例测试、接口测试、大数据测试
  13. 第三届泰迪杯数据挖掘技能赛一等奖总结经验分享
  14. 逆向工程是什么意思(逆向工程是抄袭技术吗)
  15. 如何制作U盘启动盘并且安装系统(保姆级教学)
  16. SVG线条动画实现蚂蚁线
  17. css实现一个三角形
  18. Android Studio Cannot resolve symbol 解决方法
  19. 学计算机要高智商吗,这7大高智商专业,很容易挂科,如果不是学霸级人物,最好不要报考...
  20. 腾讯AI Lab 2020年度回顾:科技向善,迈向通用人工智能

热门文章

  1. 微信小程序中内嵌一个h5页面
  2. 倍福--报错18000
  3. springboot+微信小程序老年人健康保障管理系统毕业设计源码302303
  4. axure 抖音部件库_致敬抖音一周年:用Axure还原酷炫高保真原型【附系列教程】...
  5. TweenLiteamp;amp;amp;amp;amp;amp;TweenMax系列(一)
  6. 【计算机组成原理】计算机系统的硬件结构系统总线
  7. Linux uart驱动文件,linux终端设备uart驱动分析
  8. 全球及中国骨肽行业研究及十四五规划分析报告
  9. Linux命令-压缩和解压缩命令
  10. SCI论文写作训练营笔记汇总05_英文论文投稿流程与常见问题(完)