一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏,栅栏价格为35元/米。过道造价为20元/平方米。过道宽度为3米。游泳池半径由键盘输入要求用C++编程计算并输出过道和栅栏的造价。
代码如下:
#include <iostream>
using namespace std;
const float fence_price=35;
const float concrete_price=20;
const float pi=3.1415926;
class circle{
public:
circle(float r);
float theprice();
private:
float radius;
};
circle::circle(float r){radius=r;}
float circle::theprice()
{
return concrete_price*(pi*(radius+3)*(radius+3)-pi*radius*radius)+fence_price*2*pi*(radius+3);
}
int main()
{
float radius;
circle a(radius);
cout<<"input R"<<endl;
cin>>radius;
float cost=a.theprice();
cout<<cost<<endl;
return 0;
}
dev运行结果每次都是1225.22
代码如下:
#include <iostream>
using namespace std;
const float fence_price=35;
const float concrete_price=20;
const float pi=3.1415926;
class circle{
public:
circle(float r);
float theprice();
private:
float radius;
};
circle::circle(float r){radius=r;}
float circle::theprice()
{
return concrete_price*(pi*(radius+3)*(radius+3)-pi*radius*radius)+fence_price*2*pi*(radius+3);
}
int main()
{
float radius;
circle a(radius);
cout<<"input R"<<endl;
cin>>radius;
float cost=a.theprice();
cout<<cost<<endl;
return 0;
}
dev运行结果每次都是1225.22