当前位置: 首页 > news >正文

**练习案例2:点和圆的关系**设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。

#include <iostream>
#include <string>  
using namespace std;/*
**练习案例2:点和圆的关系**设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。解题思路:
1.圆形和点之间的关系有3种,点在圆形内,点与圆形重合,点在圆形外。
2.圆类如何取坐标、点如何取坐标
3.圆类的属性组成,半径、中心在原点的坐标;点的属性组成,点在空间内的坐标;
4.点类的坐标;
5.点与圆之间关系的判断,进行坐标值之间的判断;*/
//点类
class Point
{
private:int p_x;int p_y;public:void set_p_x(int x) {p_x = x;}void set_p_y(int y) {p_y = y;}int get_p_x() {return p_x;}int get_p_y() {return p_y;}
};
class Circle
{
private:int c_r;//半径Point c_center;//圆心public:void set_c_r(int r) {c_r = r;}int get_c_r() {return c_r;}//设置圆心void set_Circle_Center(Point p) {c_center = p;}//返回圆心Point get_Circle_Center() {return c_center;}};// 判断圆心和点之间的关系
void check_Point_C(Circle &c,Point &p) {//两点之间距离的平方int distance = (c.get_Circle_Center().get_p_x() - p.get_p_x()) * (c.get_Circle_Center().get_p_x() - p.get_p_x()) + (c.get_Circle_Center().get_p_y() - p.get_p_y()) * (c.get_Circle_Center().get_p_y() - p.get_p_y());//半径的平方int c_r_ = c.get_c_r() * c.get_c_r();if ( distance > c_r_  ){cout << "点在圆外" << endl;} else if (distance == c_r_ ){cout << "点在圆行上" << endl;}else if (distance < c_r_){cout << "点在圆内" << endl;}
}int main() {// 创建一个圆心坐标为(10,10),半径为10的圆形Circle c1;Point p1; //圆心的点坐标p1.set_p_x(10);p1.set_p_y(10);//设置圆心坐标c1.set_Circle_Center(p1);c1.set_c_r(10);//创建点的坐标Point p2; p2.set_p_x(100);p2.set_p_y(100);check_Point_C(c1, p2);system("pause");return 0;}

http://www.xdnf.cn/news/488575.html

相关文章:

  • ML307R 的 USB Vendor ID (VID):0x2ECC ML307R 的 USB Product ID (PID):0x3012
  • 驱动芯片走线、过孔指导,大电流、散热过孔
  • Emacs 折腾日记(二十四)——帮助信息的一些优化
  • 【python实用小脚本-64】Python如何用图像比对解决办公效率难题?(附方案)
  • H3C华三配置AC自动上线AP
  • MySQL 第四讲---基础篇 数据类型
  • 【Linux网络】网络套接字编程
  • 泰迪杯特等奖案例深度解析:基于多级二值化与CNN回归的车牌识别系统设计
  • Mac上安装运行SynthTIGER
  • Spring AI 的功能介绍、集成使用和详细示例说明
  • 频域中的反射-信号完整性分析
  • 基于three.js 全景图片或视频开源库Photo Sphere Viewer
  • element plus el-upload 和el-image 配合图片上传和显示
  • IIS+php环境下执行exec函数后,服务器500错误宕机
  • 界面控件DevExpress WinForms中文教程:Banded Grid View - API
  • 解决LeetCode 47. 全排列 II 问题的正确姿势:深入分析剪枝与状态跟踪
  • 联合查询
  • ⭐️⭐️⭐️【模拟题及答案】:大模型Clouder认证:基于百炼平台构建智能体应用 ⭐️⭐️⭐️
  • CVPR2025 | 首个多光谱无人机单目标跟踪大规模数据集与统一框架, 数据可直接下载
  • 前端面经 8 JS中的this 手写call apply bind方法
  • 将嵌入映射到 Elasticsearch 字段类型:semantic_text、dense_vector、sparse_vector
  • 火山引擎AI大模型
  • vue-router 中传递参数中的问题
  • 【基础】Windows开发设置入门3:在 Windows 11 上设置开发驱动器,提升性能速度
  • 适合使用分区表的典型业务场景
  • 用Python绘制动态樱花树(附完整源码解析)
  • React组件(一):生命周期
  • Linux下软件安装
  • C++ asio网络编程(7)增加发送队列实现全双工通信
  • Maven Deploy的依赖与引用方的依赖不同