题目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");
}

最新文章

  1. PHP静态化
  2. Android 多媒体视频播放一( 多媒体理解与经验分享)
  3. [Outlook] outlook如何实现自动CC和BCC邮件发送
  4. IOS block使用中碰到的一个小坑
  5. PowerBuilder反编译
  6. hdu 3172 Virtual Friends
  7. iOS开发之窗口和视图
  8. SQL操作(增删改查)
  9. 一个简单的TestNG例子
  10. javascript:运动框架
  11. opencv-python 学习笔记2:实现目光跟随(又叫人脸跟随)
  12. Mojo Mysql utf-8字符集 需要{mysql_enable_utf8 =&gt; 1}
  13. Learning Cocos2d-x for WP8(4)——中文显示
  14. docker 报错:x509: certificate has expired or is not yet valid
  15. web领域的实时推送技术-WebSocket
  16. 28.TreeSet
  17. 【python】Numpy中stack(),hstack(),vstack()函数详解
  18. CUDA-存储器
  19. jmeter 二次开发---实现自定义函数插件
  20. Servlet笔记8--乱码解决方案

热门文章

  1. 关于UbuntuMate的两个问题点:SSH问题处理与自启动项配置
  2. 【树莓派】Linux 系统级别代理配置
  3. vscode - 移动端适配(cssrem)
  4. Spring Boot学习记录(二)–thymeleaf模板
  5. android判断服务是否是运行状态
  6. openerp创建动态视图-fields_view_get
  7. 娓娓道来c指针 (4)解析c的声明语句
  8. FFMPEG,将字幕“烧进”MP4视频中
  9. C# 之 FTPserver中文件上传与下载(一)
  10. 如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下