• C++ 百炼成钢20


    题目56:

    编写C++程序完成以下功能:
    (1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;
    (2)定义一个圆形类,其属性包括圆心和半径;
    (3)创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。

    //点类声明
    #include<iostream>
    #pragma once
    //这句代码相当于#ifndef MyP   #define MyP     #endif这三句代码,都是为了防止重定义
    //#ifndef MyP
    //#define MyP
    class MyPoint{
    public:
        //初始化点
        void Init(int x0, int y0);
        //计算距离
        double calculationdistance(MyPoint &mp1);
    private:
        int x;
        int y;
    };
    //
    //#endif
    //点类的实现
    #include<iostream>
    #include"MyPoint.h"
    
    //初始化点
    void MyPoint::Init(int x0, int y0){
        x = x0;
        y = y0;
    }
    
    double MyPoint::calculationdistance(MyPoint &mp1){
        double d =sqrt((x - mp1.x)*(x - mp1.x) + (y - mp1.y)*(y - mp1.y));
        return d;
    }
    //圆类声明
    #pragma once
    
    class MyCircle{
    public:
        void Init(double x0, double y0, double r0);
        int jugdeintersect(MyCircle &mc1);
    private:
        double x;
        double y;
        double r;
    };
    //圆类的实现
    #include<iostream>
    #include"MyCircle.h"
    
    using namespace std;
    
    void MyCircle::Init(double x0, double y0, double r0){
        x = x0;
        y = y0;
        r = r0;
    }
    
    int MyCircle::jugdeintersect(MyCircle &mc1){
        int ret = 0;
        double temp = 0.0, temp2=0.0;
        temp = sqrt((x - mc1.x)*(x - mc1.x) + (y - mc1.y)*(y - mc1.y));
        temp2 = r + mc1.r;
        if (temp>temp2)
        {
            //表示两圆不相交
            ret = 1;
        }
        return ret;
    }
    /*
    编写C++程序完成以下功能:
    (1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;
    (2)定义一个圆形类,其属性包括圆心和半径;
    (3)创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。
    */
    #include<iostream>
    #include"MyCircle.h"
    #include"MyPoint.h"
    
    using namespace std;
    
    void main(){
        //定义两个点
        //MyPoint mp1, mp2;
        //mp1.Init(1, 1);
        //mp2.Init(1, 2);
        //printf("两点之间的距离%lf
    ", mp1.calculationdistance(mp2));
        //定义两个圆
        MyCircle c1, c2;
        c1.Init(1, 1, 1);
        c2.Init(1, 4, 1);
        if (c1.jugdeintersect(c2))
        {
            printf("两圆不相交
    ");
        }
        else{
            printf("两圆相交
    ");
        }
        system("pause");
    }
  • 相关阅读:
    Linux之C编译器gcc和makefile使用简介
    基于OWin的Web服务器Katana发布版本3
    OAuth和OpenID的区别
    关于 Token,你应该知道的十件事
    HTTP Header 详解
    Entity Framework教程及文章传送门
    CSP(Content Security Policy) 入门教程
    gulp构建工具的几个使用技巧
    浅谈程序员的英语学习
    如何选择正确的angular2学习曲线?
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5593331.html
Copyright © 2020-2023  润新知