c++编写程序已知一圆形游泳池,现在需在其周围建一圆形过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米游泳池半径由键盘输人。要求编程计算并输出过道和栅栏的造价。 设计该程序时需要达到以下要求: (1)根据理解,自行定义Circle类来实现相关的数据存储以及功能,访问控制性、名称以及参数自行定义。可查看后面程序说明 (2)要求定义一个用于计算过道造价的函数,该函数的参数指定为指向对象的指针类型,函数返回值为double 类型的过道造价。该函数实现时要求动态生成一圆对象,实现过道造价的计算,函数结束后释放该对象。 (3)要求定义一个用于计算栅栏造价的函数,函数的参数为一对象,函数的返回值为double 类型的栅栏造价 (4)编制一主函数,输入游泳池半径,实现游泳池对象创建,并合理调用上述函数,计算并输出过道和栅栏的造价。
时间: 2024-03-22 13:42:36 浏览: 57
c++ 编写的 程序谢谢谢谢谢谢谢谢
以下是符合要求的C++程序:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
const double PI = 3.1415926535;
class Circle {
private:
double radius;
public:
Circle(double r=0) {
radius = r;
}
double getRadius() {
return radius;
}
double getArea() {
return PI * radius * radius;
}
double getCircumference() {
return 2 * PI * radius;
}
};
double calcPathCost(Circle* pool) {
double pathWidth = 3;
Circle* path = new Circle(pool->getRadius() + pathWidth);
double pathArea = path->getArea() - pool->getArea();
double pathCost = pathArea * 20;
delete path;
return pathCost;
}
double calcFenceCost(Circle pool) {
double fenceLength = pool.getCircumference();
double fenceCost = fenceLength * 35;
return fenceCost;
}
int main() {
double radius;
cout << "请输入游泳池半径: ";
cin >> radius;
Circle pool(radius);
double pathCost = calcPathCost(&pool);
double fenceCost = calcFenceCost(pool);
cout << "过道造价为: " << pathCost << "元" << endl;
cout << "栅栏造价为: " << fenceCost << "元" << endl;
cout << "总造价为: " << pathCost + fenceCost << "元" << endl;
return 0;
}
```
这个程序定义了一个Circle类来存储游泳池的半径和相关的功能,同时定义了两个函数来计算过道和栅栏的造价。主函数通过创建Circle对象来实现游泳池的存储,并调用上述函数来计算总造价,并输出结果。其中,calcPathCost函数动态生成了一个Circle对象来计算过道的面积,并在函数结束时释放该对象。
阅读全文