C++实现设计一个圆形类(Circle),和一个点类(Point), 计算并判断点和圆的位置关系
题目要求
设计一个圆形类(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), 计算并判断点和圆的位置关系相关推荐
- C++类实例:判断点和圆的位置关系
C++学习记录 给定一个点和一个圆,总体有三个位置关系:1.点在圆内:2.点在圆外:3.点在圆上 设计一个C++程序,输入一个圆的坐标和半径,以及一个点的位置坐标,实现相对位置的判断.如下图所示: u ...
- 24.2.2直线和圆的位置关系(1)教学设计
本课通过学生动手画图并实践操作,直观感受直线和圆的三种位置关系.设圆心到直线的距离为d,半径为r,然后归纳d与r的数量关系对应直线和圆的位置关系,利用数形结合让学生理解相关知识. 课堂检测部分设计A组 ...
- c++继承与派生(设计一个圆类Circle和一个桌子类Table,另设计一个圆桌类Roundtable,它是前面两个类的派生类,要求编写测试程序给出输出一个圆桌的高度、面积和颜色等数据。)
#设计一个圆类Circle和一个桌子类Table,另设计一个圆桌类Roundtable,它是前面两个类的派生类,要求编写测试程序给出输出一个圆桌的高度.面积和颜色等数据. #include<io ...
- java 圆类 圆锥类_以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone
学习内容:以圆类 Circle 及立体图形类 Solid 为基础设计圆锥类 Cone 代码示例: import java.util.Scanner; class Point4{ private dou ...
- 用canvas绘制一个圆形,实现绕着一个中心运动
实现效果 使用canvas绘制一个圆形,实现绕着一个中心,轨迹类似于走一个椭圆的轨迹那样路线,并且实现漂浮的效果. 这里只是一个实例Demo,直接运行就可以,下面附上代码: <!doctype ...
- 直线与圆位置关系的c语言,直线与圆的位置关系教学设计范文
直线与圆的位置关系教学设计范文 教学目标: (一) 教学知识点: 1. 了解直线与圆的三种位置关系. 2. 了解圆的切线的概念. 3. 掌握直线与圆位置关系的性质. (二) 过程目标: 1. 通过多媒 ...
- c语言在平面直角坐标系中,给定一个圆的圆心坐标Ox,Oy以及半径R,在再给定一个点的坐标PX,Py,请判断这个点与圆的位置关系。
在平面直角坐标系中,给定一个圆的圆心坐标Ox,Oy以及半径R,在再给定一个点的坐标PX,Py,请判断这个点与圆的位置关系. 输入格式: 先输入三个正整数,分别代表圆心的横纵坐标x,Oy和半径R. 在输 ...
- C语言-题目:设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度,面积和颜色等数据。
#include <iostream> using namespace std; class CCircle { public: CCircle() {}; ~CCircle() {}; ...
- C++-题目:设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度,面积和颜色等数据。
#include <iostream> using namespace std; class CCircle { public: CCircle() {}; ~CCircle() {}; ...
最新文章
- Python未来的发展趋势怎么样
- 判断人工智能是否可信的“四把尺子”
- IT培训“来offer”获得数千万融资
- 了解一下MongoDB中的写关注(write concern)
- Spring Cloud【Finchley】-15 查看Zuul的路由端点和过滤器
- 多进程与多线程的区别 - jihite
- maven依赖范围_Maven依赖范围
- matlab的pulse使用想法
- [leetcode]5325. 包含所有三种字符的子字符串数目
- 从大哥大到iPhone13,谈谈移动网络发展
- vm centos 网络配置
- 高效的敏捷测试第十三课 自动化测试、用例测试、接口测试、大数据测试
- 第三届泰迪杯数据挖掘技能赛一等奖总结经验分享
- 逆向工程是什么意思(逆向工程是抄袭技术吗)
- 如何制作U盘启动盘并且安装系统(保姆级教学)
- SVG线条动画实现蚂蚁线
- css实现一个三角形
- Android Studio Cannot resolve symbol 解决方法
- 学计算机要高智商吗,这7大高智商专业,很容易挂科,如果不是学霸级人物,最好不要报考...
- 腾讯AI Lab 2020年度回顾:科技向善,迈向通用人工智能
热门文章
- 微信小程序中内嵌一个h5页面
- 倍福--报错18000
- springboot+微信小程序老年人健康保障管理系统毕业设计源码302303
- axure 抖音部件库_致敬抖音一周年:用Axure还原酷炫高保真原型【附系列教程】...
- TweenLiteamp;amp;amp;amp;amp;amp;TweenMax系列(一)
- 【计算机组成原理】计算机系统的硬件结构系统总线
- Linux uart驱动文件,linux终端设备uart驱动分析
- 全球及中国骨肽行业研究及十四五规划分析报告
- Linux命令-压缩和解压缩命令
- SCI论文写作训练营笔记汇总05_英文论文投稿流程与常见问题(完)