第十三周 项目一 点和圆的关系
来源:互联网 发布:淘宝u站中心首页 编辑:程序博客网 时间:2024/05/20 09:45
/* * 程序的版权和版本声明部分: * Copyright (c) 2013.烟台大学计算机学院 * All rights reserved. * 文件名称: * 作 者:何新新* 完成日期:2014 年 5月 23日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述: * 问题描述: * 程序输出: */ #include <iostream> #include <Cmath> using namespace std; class Point { protected: int x; int y; public: Point(int a,int b):x(a),y(b) {} ~Point() {}; friend ostream &operator<<(ostream &output,Point &p); int getX() { return x; } int getY() { return y; } }; class Circle:public Point { public: Circle(int a,int b,int c):Point(a,b),r(c) {} friend int locate (Point &p,Circle &c); ~Circle() {}; friend ostream &operator<<(ostream &output,Circle &c); int getR() { return r; } protected: int r; }; ostream &operator<<(ostream &output,Point &p) { output<<"("<<p.x<<","<<p.y<<")"<<endl; return output; } ostream &operator<<(ostream &output,Circle &c) { output<<"圆心为:"<<"("<<c.getX()<<","<<c.getY()<<")"; output <<"圆的半径为:"<<c.getR()<<endl; return output; } int locate (Point &p,Circle &c) { double t; t=sqrt((p.getX()-c.getX())*(p.getX()-c.getX())+(p.getY()-c.getY())*(p.getY()-c.getY())); if(t<c.r) return -1; else if(t==c.r) return 0; else return 1; } int main() { Circle c1(3,2,4),c2(4,5,5);//c2应该大于c1 Point p1(1,1),p2(3,-2),p3(7,3);//分别位于c1内,上,外 cout<<"圆c1:"<<c1; cout<<"圆c2:"<<c2; cout<<"点p1:"<<p1; cout<<"点p1在圆c1之"<<((locate(p1,c1)>0)?"外":((locate(p1,c1)<0)?"内":"上"))<<endl; cout<<"点p1在圆c2之"<<((locate(p1,c2)>0)?"外":((locate(p1,c2)<0)?"内":"上"))<<endl; cout<<"点p2:"<<p2; cout<<"点p2在圆c1之"<<((locate(p2,c1)>0)?"外":((locate(p2,c1)<0)?"内":"上"))<<endl; cout<<"点p2在圆c2之"<<((locate(p2,c2)>0)?"外":((locate(p2,c2)<0)?"内":"上"))<<endl; cout<<"点p3:"<<p3; cout<<"点p3在圆c1之"<<((locate(p3,c1)>0)?"外":((locate(p3,c1)<0)?"内":"上"))<<endl; cout<<"点p3在圆c2之"<<((locate(p3,c2)>0)?"外":((locate(p3,c2)<0)?"内":"上"))<<endl; return 0; }
0 0
- 第十三周 项目一 点和圆的关系
- 第十三周项目一-点与圆的位置关系
- 第十三周 项目一 点圆的关系
- 第十三周 项目1--点和圆的位置关系
- 第十三周(项目一)——点、圆的关系。
- 第十三周项目1-点与圆的关系
- 第十三周项目1--点、圆的关系
- 第十三周 项目四--点、圆的关系(5)
- 第十三周 项目四--点、圆的关系(6)
- 第十三周项目2-点与圆的位置关系&&圆与圆的大小关系
- 第十三周项目一点圆的关系
- 第十三周 项目2 圆的关系
- 第十三周项目一点、圆的关系
- 第十三周上机实践项目——点、圆的关系
- 第十三周 项目四--点、圆的关系(1~4)
- 2014项目一---点圆的关系
- 第十三周项目一
- 第十三周项目一
- spring学习之二
- 基于c#实现网站的自动登陆
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- 【redis源码分析】RDB持久化机制
- c# .NET 概述
- 第十三周 项目一 点和圆的关系
- 初涉Splay Tree
- Linux(ubuntu)下30天自制os学习引导,第1天(汇编语言,写入u盘,qemu启动u盘)
- 友情链接该怎么做
- ruby on rails 新开始
- ajax浏览器缓存问题
- eclispe codestyle 和 formatter
- Windows消息大全
- VS中调用SQL SERVER存储过程