C. 点和圆 (类与对象)
题目描述设计一个点类Point,包含属性:x坐标和y坐标,方法:设定坐标(setPoint),获取x坐标(getX),获取y坐标(getY)设计一个圆类Circle,包含属性:圆心坐标x和y、半径r;方法包括:1. 设定圆心(setCenter),设置圆心x坐标和y坐标2. 设定半径(setRadius),设置半径长度3. 计算面积(getArea),计算公式:面积=3.14*r*r4. 计算周长(getLength),计算公式:周长=2*3.14*r5. 包含(contain),判断一个圆是否包含一个点,计算圆心到这个点的距离,然后和半径做比较,大于则不包含,小于等于则包含注意:提交代码时必须用注释划分出三个区域:类定义、类实现、主函数,如下//-----类定义------class XXX{ // 写类定义代码};//----类实现------void XXX::process(){// 写类定义代码};//-----主函数-----int main(){//自定义一些变量//创建一个圆对象和一个点对象//输入圆对象和点对象的属性数值,并做初始化//输出圆的面积和圆的周长//输出圆是否包含点,包含则输出yes,否则输出noreturn 0;}输入第一行输入圆的三个整数参数:圆心的x和y坐标,半径第二行输入点的两个整数参数:x和y坐标输出第一行输出圆的面积和周长,结果之间用空格隔开,输出精度到小数点后2位第二行输出圆是否包含点,包含则输出yes,否则输出no输入样例1
1 1 1
2 2输出样例1
3.14 6.28
no提示求两点距离的公式 dis =sqrt [ (x1-x2)^2  + (y1-y2)^2 ] , ^2表示平方,sqrt表示开平方根,本公式只是表示含义,不是真实代码在C++使用sqrt函数可以求平方根,头文件包含cmath

该题主要考察对C++类的定义及其相关应用,主要注意按题目要求来

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include <iomanip>
#include<cmath>
#include<cstring>
#include<cctype>
#include<queue>
#include<set>
using namespace std;
//-----类定义------
class Point
{
public:int x;int y;void setPoint(int a, int b);
};class Circle
{
public:int x, y;double r;void setCenter(int a, int b);void setRadius(double R);double getArea();double getLength();bool contain(Point& p, Circle& c);
};//----类实现------
void Point::setPoint(int a, int b)
{x = a;y = b;
}void Circle::setCenter(int a, int b)
{x = a;y = b;
}void Circle::setRadius(double R)
{r = R;
}double Circle::getArea()
{return r * r * 3.14;
}double Circle::getLength()
{return 2 * 3.14 * r;
}bool Circle::contain(Point& p, Circle& c)
{double len = sqrt((p.x - c.x) * (p.x - c.x) + (p.y - c.y) * (p.y - c.y));if (len <= c.r){return true;}else{return false;}
}//主函数
int main()
{Circle C;Point P;cin >> C.x >> C.y >> C.r;cout << fixed << setprecision(2) << C.getArea() << ' ' << C.getLength() << endl;cin >> P.x >> P.y;if (C.contain(P, C)){cout << "yes" << endl;}else{cout << "no" << endl;}return 0;
}

C. 点和圆 (类与对象)相关推荐

  1. Java 圆锥类 圆类 面积 体积

    Java 圆锥类 [实验内容] 一.基础性题目 引入:写一个圆锥类,可以实现打印体积的功能.(10分钟完成) 讲解. 主题:对象的组合 • 抽象一个圆类 成员变量:半径: 成员方法:求面积: • 抽象 ...

  2. 淮阴工学院C语言考试题库,淮阴工学院c++实验报告实验九类和对象

    <淮阴工学院c++实验报告实验九类和对象>由会员分享,可在线阅读,更多相关<淮阴工学院c++实验报告实验九类和对象(9页珍藏版)>请在装配图网上搜索. 1.淮阴工学院c+实验报 ...

  3. 创建一个圆类Circle的对象,分别设置圆的半径计算并分别显示圆半径、圆面积、圆周长。...

    编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型): // 存放圆的半径: ②两个构造方法 Circle( ) // 将半径设为0 Circle(double r ) ...

  4. Java设计一个类代表二维空间的一个点,设计一个类代表二维空间的一个圆,计算面积,,并写程序验证计算一个点(Point对象)是否在圆(Cricle对象)内

    题目要求: (1) 设计一个类代表二维空间的一个点 (2) 设计一个类代表二维空间的一个圆.要求两个成员变量.一个是圆心,一 个是半径,提供计算面积的方法. (3) 为上述Cricle类添加一个方法, ...

  5. java组合类,对象组合,定义一个点类,将圆的圆心用点类的对象表示,则圆类定义为一个组合类,仍然能计算圆的面积和周长,并能对圆进行移动。

    对象组合的概念 如果一个对象中的域是其他类的对象,则称这个对象是组合对象,组合对象所在的类是组合类.例如计算机是由其他部件(对象)组成的.通过组合的方式,可以简化对象的创建过程,提高对象的创建效率.从 ...

  6. 6-1 求圆的面积(类与对象)

    按要求完成程序的编写. 1.定义圆类Circle,其中包括: (1)成员变量:private int radius (2)无参构造方法 ,给radius赋值为2,并输出信息:"This is ...

  7. 面向对象实验一(类与对象)

    一.实验目的 1.掌握类和对象的定义和使用. 2.掌握友元函数的定义和使用. 3.理解并掌握常量的定义和使用. 4.掌握静态的定义和使用. 二.实验内容 1.给定三个数21,15,22,设计内联函数i ...

  8. java定义一个类计算圆的半径,C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计...

    导航:网站首页 > C++编程:定义一个圆类要求属性为半径,操作为计算圆的周长和面积...,java编程:定义一个圆类,属性为半径,方法为对输入的半径计 C++编程:定义一个圆类要求属性为半径, ...

  9. 【黑马程序员 C++教程从0到1入门编程】【笔记4】C++核心编程(类和对象——封装、权限、对象的初始化和清理、构造函数、析构函数、深拷贝、浅拷贝、初始化列表、友元friend、运算符重载)

    黑马程序员C++教程 文章目录 4 类和对象(类属性[成员属性],类函数[成员函数]) 4.1 封装 4.1.1 封装的意义(三种权限:public公共.protected保护.private私有)( ...

最新文章

  1. 【React 实战教程】从0到1 构建 github star管理工具
  2. 数据库access和mysql_数据库access和MYSQL有什么区别?
  3. HEX、DEC、OCT和BIN的解释
  4. linux树莓派连接wifi热点,如何将树莓派设置为WiFi热点
  5. 【EF】Entity Framework 6新特性:全局性地自定义Code First约定
  6. opencart出现no such file or dictionary
  7. java day07【Scanner类、Random类、ArrayList 类】
  8. numpy 矩阵拼接_Python实践代码总结第10集(Numpy)
  9. 遇到错误(firefox 打不开 重置winsock bug)
  10. 快速排序(快排)——C语言实现
  11. 爱因斯坦《社会和个人 》
  12. linux下常用vi操作命令
  13. 神奇的月食画面 超级血月出现天文迷大兴奋
  14. Citavi导入中国知网caj文件
  15. MySQL:排序(filesort)详细解析(8000字长文)
  16. 交换机中的生成树,是什么树?
  17. 用vue写一个npm包(package),发布及引用
  18. 机器学习实战——分类
  19. 在一个excel里面直接批量从谷歌地图抓取经纬度(vba部分)
  20. 教你轻松一键安装win10系统

热门文章

  1. IT界的复仇者联盟解读
  2. 程序员参加年会,CTO 要求技术部门穿成这样
  3. 集赞免费领《新程序员》电子刊!
  4. 好心情心理咨询平台:独处≠孤独,独处对心理健康有多重要?
  5. 动态规划问题 -- 求给定K个币种时N美元有几种组合方式 (例1,2,3美元存在,求10美元有几种组合方式)
  6. 部署KVM 虚拟化平台
  7. android+xposed插件,初探Xposed 插件开发
  8. 运筹说 第92期|爱思唯尔“高被引学者“
  9. 华为手机录制屏幕视频的详细操作
  10. 声散射 matlab,一种基于声波散射的高强度聚焦超声声场测量方法与流程