当前位置: 首页 > 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.dtcms.com/a/195430.html

相关文章:

  • 多态性标记设计
  • 深度学习驱动下的目标检测技术:原理、算法与应用创新
  • 敏捷-第一章 引言:瀑布与敏捷
  • 自建商城系统是选源码还是saas
  • WHAT - SSR vs SSG vs ISR
  • 【数据机构】2. 线性表之“链表”
  • Linux系统编程——exec族函数
  • 如何在 Windows 10 或 11 上使用命令提示符安装 PHP
  • React学习———React Router
  • 【AI基础设施安全检测工具】AI Infra Guard安装使用详细说明
  • 数学实验(Matlab编程基础)
  • 第十天——贪心算法——深度总结
  • firewall防火墙
  • Seata源码—4.全局事务拦截与开启事务处理二
  • CSR、SSR与ISR的奇妙之旅
  • 2水平3因子设计
  • AGI大模型(18):各大平台RAG实现之智普RAG
  • math.js 加/减/乘/除 使用
  • labelimg安装及使用指南(yolo)
  • 红黑树实现
  • 从一场亲历事故聊聊数据库操作日志+数据恢复
  • AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式
  • 线程池设计
  • 德劳内三角剖分原理
  • 前端快速环境搭建:nodejs及vue2安装
  • 2025程序设计天梯赛补题报告
  • 随笔:hhhhh
  • 液质联用仪(LC-MS)进样中断多种原因的排查和解决方法
  • ”一维前缀和“算法原理及模板
  • 多线程(四)