大家帮我看看这段程序

XiaoG602 2008-03-25 05:01:33
为什么所求的体积(volume)是0啊~程序存在什么问题啊?
#include <iostream>
#include <cmath>
using namespace std;
const float pi=3.14;
class circle
{
protected:
float radii;
public:
circle(float r=1):radii(r){}
};

class line
{
protected:
float high;
public:
line(float h=0):high(h){}
void set_high();
};

void line::set_high()
{
cout<<"Please cin the high of the taper:";
cin>>high;
}

class taper:public circle,public line
{
public:
taper(float r=1,float h=0,float g=0):circle(r),line(h),generatrix(g){}
float taper_area();
float taper_volume();
void calculate_generatrix(){generatrix=sqrt(radii*radii+high*high);}
private:
float generatrix;
};

float taper::taper_area()
{
float area;
area=pi*radii*(generatrix+radii);
return area;
}

float taper::taper_volume()
{
float volume;
volume=(1/3)*pi*radii*radii*high;
return volume;
}

int main()
{
taper taper1;
taper1.set_high();
taper1.calculate_generatrix();
cout<<"The area is:"<<taper1.taper_area()<<endl;
cout<<"The volume is:"<<taper1.taper_volume()<<endl;
return 0;
}
...全文
43 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
babyvox1999 2008-03-25
  • 打赏
  • 举报
回复
原来1/3变成0了。。。。
babyvox1999 2008-03-25
  • 打赏
  • 举报
回复

float taper::taper_volume()
{
float volume;
volume=pi*radii*radii*high/3;
return volume;
}
ttkk_2007 2008-03-25
  • 打赏
  • 举报
回复

void line::set_high()
{
cout < < "Please cin the high of the taper: ";
cin> > high;
}
//输入的high根本就没有给line::high赋值
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-25 05:01
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下