C++ 百炼成钢20
2024-08-25 01:20:05
题目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");
}
最新文章
- PHP静态化
- Android 多媒体视频播放一( 多媒体理解与经验分享)
- [Outlook] outlook如何实现自动CC和BCC邮件发送
- IOS block使用中碰到的一个小坑
- PowerBuilder反编译
- hdu 3172 Virtual Friends
- iOS开发之窗口和视图
- SQL操作(增删改查)
- 一个简单的TestNG例子
- javascript:运动框架
- opencv-python 学习笔记2:实现目光跟随(又叫人脸跟随)
- Mojo Mysql utf-8字符集 需要{mysql_enable_utf8 =>; 1}
- Learning Cocos2d-x for WP8(4)——中文显示
- docker 报错:x509: certificate has expired or is not yet valid
- web领域的实时推送技术-WebSocket
- 28.TreeSet
- 【python】Numpy中stack(),hstack(),vstack()函数详解
- CUDA-存储器
- jmeter 二次开发---实现自定义函数插件
- Servlet笔记8--乱码解决方案
热门文章
- 关于UbuntuMate的两个问题点:SSH问题处理与自启动项配置
- 【树莓派】Linux 系统级别代理配置
- vscode - 移动端适配(cssrem)
- Spring Boot学习记录(二)–thymeleaf模板
- android判断服务是否是运行状态
- openerp创建动态视图-fields_view_get
- 娓娓道来c指针 (4)解析c的声明语句
- FFMPEG,将字幕“烧进”MP4视频中
- C# 之 FTPserver中文件上传与下载(一)
- 如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下