/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称: test.cpp
*作 者:陈丹
*完成日期:2015年6月28日
*版本号:v1.0
*
*问题描述:宇宙房产开发有限公司要盖一批圆顶的别墅,现要编制一个程序,计算别墅土建部分的造价。
为简化起见,只计算别墅房顶、墙面和柱子的价格。房顶每平方米的价格为3000元、墙面每平方米2000元、每根柱子10000元。
要求输入每栋别墅的房顶半径、墙面高度和柱子数,能计算出单栋别墅的造价,进而计算出多栋别墅的造价和。
*输入描述:
*程序输出:
*/
#include <iostream>
#include <iomanip>
using namespace std;
const int roofPrice = 3000; //房顶每平方米的价格
const int wallPrice = 2000;//墙面每平方米的价格
const int pillarPrice = 10000; //每根柱子的价格
const double PI = 3.1415926;
//************* begin *****************
class House
{
private:
double radius;
double height;
int pillars;
public:
void setData(double r,double h,int p)
{
radius=r;
height=h;
pillars=p;
}
double getPrice()
{
return PI*radius*radius*roofPrice+2*PI*radius*height*wallPrice+pillars*pillarPrice;
}
};
//************* end *****************
int main( )
{
House houses[10];
int n,i;
double r, h, p;
cin>>n; //要盖n栋别墅
double sum = 0;
for(i=0; i<n; i++)
{
cin>>r>>h>>p; //分别表示别墅的房顶半径、墙高、柱子数
houses[i].setData(r,h,p);
sum+=houses[i].getPrice(); //求出第i栋别墅造价并累加
}
cout <<setiosflags(ios::fixed)<<setprecision(2);
cout<<"Total price: " << sum << endl; //输出总造价
return 0;
}
运行结果:
学习总结:
考试很基础!