题目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 = ;
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 = ;
}
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\n", mp1.calculationdistance(mp2));
//定义两个圆
MyCircle c1, c2;
c1.Init(, , );
c2.Init(, , );
if (c1.jugdeintersect(c2))
{
printf("两圆不相交\n");
}
else{
printf("两圆相交\n");
}
system("pause");
}

C++ 百炼成钢20的更多相关文章

  1. CSharpGL(20)用unProject和Project实现鼠标拖拽图元

    CSharpGL(20)用unProject和Project实现鼠标拖拽图元 效果图 例如,你可以把Big Dipper这个模型拽成下面这个样子. 配合旋转,还可以继续拖拽成这样. 当然,能拖拽的不只 ...

  2. ABP(现代ASP.NET样板开发框架)系列之20、ABP展现层——动态生成WebApi

    点这里进入ABP系列文章总目录 ABP(现代ASP.NET样板开发框架)系列之20.ABP展现层——动态生成WebApi ABP是“ASP.NET Boilerplate Project (ASP.N ...

  3. 帮我做个APP,给你20万,做不做?

    一.为什么要写这篇文章 前段时间,有个辞职 创业的同事(做法务的)  问我 开发一个 新闻类的APP要多少钱,产品.UI.接口.后台管理页  他们啥都没有,想全部外包. 我 并没有在外包公司做过,也没 ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(20)-权限管理系统-根据权限获取菜单

    系列目录 不知不觉到20讲,真是漫长的日子,可惜最近工作挺忙,要不可以有更多的时间来更新,多谢大家的一路支持.如果你觉得好,记得帮我点击推荐^-^ 我们在之前已经插入一些真实数据,其中包含了一个用户和 ...

  5. LINQ to SQL语句(20)之存储过程

    在我们编写程序中,往往需要一些存储过程,在LINQ to SQL中怎么使用呢?也许比原来的更简单些.下面我们以NORTHWND.MDF数据库中自带的几个存储过程来理解一下. 1.标量返回 在数据库中, ...

  6. C#开发微信门户及应用(20)-微信企业号的菜单管理

    前面几篇陆续介绍了很多微信企业号的相关操作,企业号和公众号一样都可以自定义菜单,因此他们也可以通过API进行菜单的创建.获取列表.删除的操作,因此本篇继续探讨这个主体,介绍企业号的菜单管理操作. 菜单 ...

  7. 20个非常有用的Java程序片段

    下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric strin ...

  8. 20个不可思议的 WebGL 示例和演示

    WebGL 是一项在网页浏览器呈现3D画面的技术,有别于过去需要安装浏览器插件,通过 WebGL 的技术,只需要编写网页代码即可实现3D图像的展示.WebGL 可以为 Canvas 提供硬件3D加速渲 ...

  9. 20款 JavaScript 开发框架推荐给前端开发者

    下面,我们给大家提供了一个用于 HTML5 开发的各种用途的 JavaScript 库列表.这些框架能够给前端开发人员提供更好的功能实现的解决方案.如果你有收藏优秀的框架,也可以在后面的评论中分享给我 ...

随机推荐

  1. Discuz常见小问题-如何设置QQ邮箱注册验证

    开启POP3/SMTP服务器,需要发送短信,然后点击我已发送,得到一个指定的密码   开启之后得到的授权码   开启IMAP/SMTP还需要发送一次短信,得到一个另外的授权码   然后在后台设置为下面 ...

  2. Could not find RubyGem cocoapods 错误

    之前安装过一次cocoapods 后来,安装octopress,安装过一次较新版的ruby,可能是由于ruby安装,把之前的cocoapods删除了,结果使用,出现如图错误 解决: 重新安装 coco ...

  3. Xcode 打包 ipa 包

    原地址:http://zengwu3915.blog.163.com/blog/static/27834897201362831449893/ 上次介绍了木有证书的打包ipa.如果安装证书后,我们还有 ...

  4. SQLSERVER中的 CEILING函数和 FLOOR函数

    SQLSERVER中的 CEILING函数和 FLOOR函数 --SQLSERVER中的 CEILING函数和 FLOOR函数 --ceiling函数返回大于或等于所给数字表达式的最小整数. --fl ...

  5. profiler跟踪事件模板文件

    查找执行情况最差的查询. 例如,可以创建一个捕获与 TSQL 和 Stored Procedure 事件类(RPC:Completed 和SQL:BatchCompleted)相关的事件的跟踪.在此跟 ...

  6. mindmanager2018官方下载地址

      mindmanager2018官方下载地址 CreationTime--2018年6月6日09:09:56 Author:Marydon 找了很多都是假的链接地址,流氓软件,根本不能输入许可密钥, ...

  7. java中加密解密工具类

    在工作中经常遇到需要加密.解密的场景.例如用户的手机号等信息,在保存到数据库的过程中,需要对数据进行加密.取出时进行解密. public class DEStool { private String ...

  8. HttpPutFormContentFilter 和 ContextLoaderListener 讲解

    1 ContextLoaderListener 继承自ContextLoader,并且实现ServletContextListener接口. 肯定得实现这个接口了,不然怎么作为Servlet的监听器呢 ...

  9. Atitit.404错误解决标准流程and url汉字中文路径404错误resin4 resin chinese char path 404 err解决

    Atitit.404错误解决标准流程and 错误resin4 resin chinese char path 404 err解决 1. #原因解析 1 2. #解决方式 2 3. 输出图片流... 2 ...

  10. [elk]Mutate filter plugin增删改查字段

    Mutate filter plugin参考: https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html ...