C++ Logo
C++二级在线二级在线
首页选择题程序题成为会员帮助其他科目

几何三重奏

请修改编辑器中的代码,完成以下功能:程序中定义了三个类:坐标点类 Point、圆形类 Circle 和圆柱体类 Cylinder。Point 类用于表示二维平面上的点,并提供计算两点间距离的功能;Circle 类表示圆形,包含计算圆的周长和面积的方法;Cylinder 类表示圆柱体,包含计算圆柱体表面积和体积的方法。请在代码中的横线处补充完整逻辑,确保程序能够正确计算圆柱体的表面积和体积。 本程序不需要输入,直接运行后输出结果。 输出示例: 表面积:408.407 体 积:628.319


#include<iostream>
#include<cmath>
using namespace std;

class Point{  //坐标点类
public:
	const double x,y;
	Point(double x=0.0, double y=0.0): x(x),y(y){}
	double distanceTo(Point p)const{   //到指定点的距离
		//**********found**********
		return sqrt((x-p.x)*(x-p.x)+______________);
	}
};

const double PI=3.1415926535;	//圆周率

class Circle{		//圆类
	Point centre;	//圆心
	double radius;	//半径
public:
	Circle(Point c, double r): centre(c), radius(r){}
	double perimeter(){	//圆的周长
		return 2*PI*radius;
	}
	double area(){		//圆的面积
	//**********found**********
        ____________________________;
	}
};

class Cylinder{		//圆柱体
	Circle bottom;	//圆柱体圆形底部
	double height;	//圆柱体高
public:
	Cylinder(Circle b, double h): bottom(b), height(h){}
	double area(){	//圆柱体表面积
		//**********found**********
		return bottom.area()*2+_______________________________;
	}
	double volume(){	//圆柱体体积
		//**********found**********
		__________________________________;
	}
};

int main(){
	Cylinder cy(Circle(Point(2.0, 3.0), 5.0), 8.0);
	cout<<"表面积:"<<cy.area()<<endl;
	cout<<"体  积:"<<cy.volume()<<endl;

	return 0;
}

控制台

调试终端

准备就绪