C++编程题:求一个正三棱锥的表面积,体积,侧面积。

要求运用类和对象中的构造函数和析构函数知识。不要写得太难,初级编程等级的就可以了。谢谢。
所有的棱长相等

#include<iostream>
#include<math.h>
using namespace std;
class CSanLengZhui
{
public:
CSanLengZhui(float Leng)
{
C_Leng=Leng;
}
~CSanLengZhui(){};
void ShowBiaomianji()
{
float S;
S=sqrt(3.0)*C_Leng*C_Leng;
cout<<"三棱锥的表面积为:"<<S<<endl;
}
void ShowTiji()
{
float V;
V=sqrt(2.0)*C_Leng*C_Leng*C_Leng/12;
cout<<"三棱锥的体积为:"<<V<<endl;
}
void ShowCemianji()
{
float S1;
S1=sqrt(3.0)*C_Leng*C_Leng*3/4.0;
cout<<"三棱锥的侧面积为:"<<S1<<endl;
}
private:
float C_Leng;
};
int main()
{
CSanLengZhui obj(2);
obj.ShowBiaomianji();
obj.ShowTiji();
obj.ShowCemianji();
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-26
////////////////////////Triangularpyramid.h////////////////////////////////////
#ifndef _TP_H_
#define _TP_H_

class Triangularpyramid
{
public:
Triangularpyramid(float size);
~Triangularpyramid();

float GetSurfacearea();
float GetVolume();

float GetSidearea();
protected:
private:
float m_size;//棱
float m_S;//底面积
};

#endif //_TP_H_

////////////////////////////Triangularpyramid.cpp/////////////////////////////
#include "Triangularpyramid.h"
#include <stdio.h>
#include<math.h>

Triangularpyramid::Triangularpyramid(float size)
{
m_size = size;
m_S = sqrt((float)3.0)/(float)(4.0)*m_size*m_size;
}
Triangularpyramid::~Triangularpyramid()
{

}

float Triangularpyramid::GetSurfacearea()
{
return (float)(4.0)*m_S;
}

float Triangularpyramid::GetSidearea()
{
return (float)(3.0)*m_S;
}

float Triangularpyramid::GetVolume()
{
float H = sqrt((float)(2.0)/(float)(3.0))*m_size;
return (float)(1.0)/(float)(3.0)*m_S*H;
}

int main()
{

float a;
printf("请输入三棱锥棱长:\n");
scanf("%f",&a);
Triangularpyramid tp(a);

printf("三棱锥体积:%f\t表面积: %f\t侧面积:%f\n", tp.GetVolume(),
tp.GetSurfacearea(),
tp.GetSidearea());
scanf("%f",a);
return 0;
}
相似回答