首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中有类Point(“点”)、Rectangle(“矩形”)和Circle(“圆”)的定义。在程序所使用的平面坐标系统中,x轴的正方向是水平向右的,y轴的正方向是竖直向下的。请在横线处填写适当的代码并删除横线,以
请打开考生文件夹下的解决方案文件proj2,其中有类Point(“点”)、Rectangle(“矩形”)和Circle(“圆”)的定义。在程序所使用的平面坐标系统中,x轴的正方向是水平向右的,y轴的正方向是竖直向下的。请在横线处填写适当的代码并删除横线,以
admin
2020-04-07
55
问题
请打开考生文件夹下的解决方案文件proj2,其中有类Point(“点”)、Rectangle(“矩形”)和Circle(“圆”)的定义。在程序所使用的平面坐标系统中,x轴的正方向是水平向右的,y轴的正方向是竖直向下的。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应该是:
--圆形----------
圆心=(3,2)
半径=1
面积=3.14159
--外切矩形------
左上角=(2,1)
右下角=(4,3)
面积 =4
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include <iostream>
#include<cmath>
using namespace std;
//平面坐标中的点
//本题坐标系统中,x轴的正方向水平向右,y轴的正方向竖直向下。
class Point{
public:
Point(double x=0.0,double y=0.0):x_(x),y_(y){}
double getX()const{return x_;}
double getY()const{return y_;}
vood setX(double x){x_ =x;}
void setY(double y){y_ =y;}
private:
double x_; //x坐标
double y_; //y坐标
};
//矩形
class Rectangle{
public:
Rectangle(Point p,int w,int h)
:poLnt(p),width(w),height(h){}
double area()const//矩形面积
{
return width * height;
}
Point topLeft() const//左上角顶点
{
return point;
}
Point bottomRight()const
//右下角顶点(注:y轴正方向竖直向下)
{
//**********found**********
return Point(__________);
}
private:
Point point;//左上角顶点
double width;//水平边长度
double he~ght;//垂直边长度
};
//圆形
class Cirole{
public:
Circle(Point P,double r):center(p),radius(r){}
Rectangle boundingBox ( )const;
//外切矩形
double area()const//圆形面积
{
//**********found**********
return PI *__________;}
public:
staric const double PI;//圆周率
private:
Point center; //圆心
double radius; //半径
};
const double Circle::PI=3.14159;
Rectangle Circle::boundingBox()corlst
{
//********** found **********
Point pt(___________);
int w,h;
//**********found**********
w=h=____________;
return Rectangle(pt,w,h);
}
int main()
{
Point p(3,2);
Circle c(p,1);
cout<<"--圆形-----------\n";
cout<<"圆心=("<<p.getX() <<’,’<<P.getY() <<")\n¨;
cout <<"半径=" <<1 <<endl;
cout<<"面积="<<c.area()<<endl<<endl;
Rectangle bb=c.boundingBox();
Point t1=bb.topLeft();
Point br=bb.bottomRight();
cout<<"--外切矩形-----------\n";
cout<<"左上角=("<<t1.getX()<<’,’<<t1.getY()<<")\n";
cout<<"右下角=("<<br.getX() <<’,’<<br.getY() <<")\n";
cout<<"面积="<<bb.area()<<endl;
return 0;
}
选项
答案
(1)point.getX()+width,point.getY()+height (2)radius * radius (3)center.getX()一radius,center.getY()-radius (4)2 * radius
解析
(1)主要考查考生对成员函数的掌握,程序要求返回右下角顶点,该点的x坐标为左上角顶点的x坐标加上width,该点的y坐标为左上角顶点y坐标加上height,即return Point(point.getX()+width,point.getY()+height);。
(2)主要考查考生对成员函数的掌握,程序要求计算圆形面积,也就是返回圆面积,即return PI *radius *radius;。
(3)主要考查考生对成员函数的掌握,首先看函数声明:Rectangle Circle::boundingBox()const,可知该函数要返回的是一个Rectangle类型,即要返回的是圆的外切矩形。再看Rectangle类的构造函数Rectangle(Point P,int w,int h),由此可知,空格处要定义的点pt为左上角点,即Point pt(center.getX()-radius,center.getY()-radius);。
(4)由函数声明和Rectangle类的构造函数可知,w和h应该为直径,即w=h=2*radius;。
转载请注明原文地址:https://kaotiyun.com/show/2u8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
指针变量所保存的不是一般的数据值,而是程序中另一个对象的______。
在C++语言中,一个函数的定义前加上关键字【】时,该函数就声明为内联函数。
从工程管理的角度来看,软件设计分两步来完成。首先是概要设计,然后是【】。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
以下C++语言中用于单行注释的是
以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#include<string>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)
有如下类定义:classPoint{private:staticinthow_many;};______how_many=0;要初始化Point类的静态成员how_many,在下画线处应填入的内容是
若有定义语句“intx=10;”,则表达式“x
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0,现经过一系列入栈与出栈运算后,top=20,则当前栈中有【2】个元素。
随机试题
下列关于十二经脉病证的特点错误的是
A.医生为患者选用疗效相当但价格低廉的药物B.医生为患者提供完全、真实的信息,供其选择表态C.医生使用艾滋病患者病情资料时,应做隐去姓名等处理D.医生诊断时应考虑患者的各方面因素E.医生治疗时应努力使患者受益最能体现保护患者隐私准则的是
我国《化妆品卫生标准》中,对化妆品中的下列有毒物质有限量要求,除了
男,28岁。阴囊破溃流脓1个月,无疼痛,抗炎治疗未愈,发病以来无发热,可能诊断是
A、胖大海B、冬葵子C、马兜铃D、车前子E、苦杏仁味甘性寒,既治肠燥便秘,又治湿热淋证的药是
机床的技术经济指标有()。
近年来全球油价持续上涨,随着各国原油生产能力的日益提高,全球原油储备资源日趋紧张。据分析人士预测,这一上涨趋势绝不会在短期内逆转。受此影响,尽管汽车已逐渐成为人们不可缺少的日常交通工具,但越来越多的人决定暂缓买车或者开始暂停用车。照此看来,整个汽车销售市场
4,9,15,26,43,()
甲、乙与其他人一起赌博,赌桌上,甲输给了乙1000元钱。结束后,甲越想越不服气,觉得乙一定在赌博的时候作了手脚。于是甲找到乙,对乙拳打脚踢,要求乙交出所赢的1000元。乙被打成重伤,被迫将1000元钱还给了甲。甲的行为()
科学家与环保人士担心全球变暖的问题。使用化石燃料(如石油、煤)或大面积砍伐森林,是地球大气“温室气体”不断增加的两大因素。这些气体所吸收的热能越来越多,最终将改变天气型态、造成海平面与海洋温度的上升,以及形成有害于植物、野生动物和人类栖息地的气候反常。
最新回复
(
0
)