zoukankan      html  css  js  c++  java
  • 13周 工程1 点,全面关系

    #include <iostream>
    #include <cmath>
    using namespace std;
    class Point
    {
    
    public:
        Point(double a,double b):x(a),y(b) {}
        double getx()
        {
            return x;
        }
        double gety()
        {
            return y;
        }
        friend ostream&operator << (ostream&,Point&);
    protected:
        double x,y;
    };
    ostream&operator << (ostream &output,Point &p)
    {
        output<<"("<<p.getx()<<","<<p.gety()<<")"<<endl;
        return output;
    }
    class Circle:public Point
    {
    
    public:
        Circle(double a,double b,double c):Point(a,b),r(c) {}
        double getr()
        {
            return r;
        }
        friend ostream&operator << (ostream&,Circle&);
        friend double locate(Circle&,Point&);
    protected:
        double r;
    };
    ostream&operator << (ostream &output,Circle &c)
    {
        output<<"("<<c.getx()<<","<<c.gety()<<")"<<" ";
        output<<"r="<<c.getr()<<endl;
        return output;
    }
    double locate(Point &po,Circle &ci)
    {
        double d,num;
        d=sqrt(pow((ci.getx()-po.getx()),2)+pow((ci.gety()-po.gety()),2));
        if(d>ci.getr())
            num=1;
        else if(d==ci.getr())
            num=0;
        else
            num=-1;
        return num;
    }
    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<<"点p1: "<<p1;
        cout<<"点p1在圆c1之"<<((locate(p1, c1)>0)?

    "外":((locate(p1, c1)<0)?

    "内":"上"))<<endl; cout<<"点p2: "<<p2; cout<<"点p2在圆c1之"<<((locate(p2, c1)>0)?

    "外":((locate(p2, c1)<0)?"内":"上"))<<endl; cout<<"点p3: "<<p3; cout<<"点p3在圆c1之"<<((locate(p3, c1)>0)?"外":((locate(p3, c1)<0)?"内":"上"))<<endl; return 0; }

    情绪:我没吃饭了没

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    ubuntu server安装桌面
    apache使用gzip压缩
    NoSQL开篇——为什么要使用NoSQL
    HTMl5的sessionStorage和localStorage
    apache服务器开启虚拟主机后localhost和ip无法访问的问题
    hg(Mercurial)使用参考
    meta的httpequiv属性详解
    分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
    框架入手心得
    最简单的弹出层代码
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4675517.html
Copyright © 2011-2022 走看看