大一新生求助:c++求圆柱的体积和表面积问题T T

// cnmhwh.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
using namespace std;
class CCylinder{
private:
float m_fR;
float m_fH;
public:
void SetPara(float r,float h)
{
r=m_fR;
h=m_fH;
}
float GetVol(float r,float h){
float PI=3.14;
cout<<"体积为"<<(PI*(r*r))*h)<<endl;
}
float GetArea(float r,float h){
float PI=3.14;
float PI=3.14;
cout<<"表面积为"<<(PI*(r*r))+2*PI*r*h)<<endl;
}
};
int main(){
float a,b;
cout<<"请输入半径"<<endl;
cin>>a;
cout<<"请输入高"<<endl;
cin>>b;
CCylinder c;
c.GetVol(a,b);
c.GetArea(a,b);
return 0;
}

求大神帮我看看哪里错了呀~


#include "stdafx.h"
#include<iostream>
using namespace std;
float PI=3.14; //把PI的定义放在这里
class CCylinder{
private:
//float PI=3.14; //或者放在这里
float m_fR;
float m_fH;
public:
void SetPara(float r,float h)
{
r=m_fR;  // 错误1, m_fR=r;
h=m_fH;  //        m_fH=h;
}
float GetVol(float r,float h){
//float PI=3.14; //常量,定义为全局或类里;在这里不算错,但不好
cout<<"体积为"<<(PI*(r*r))*h)<<endl;
}
float GetArea(float r,float h){
//float PI=3.14;  重复定义
//float PI=3.14;
cout<<"表面积为"<<(2*PI*(r*r))+2*PI*r*h)<<endl;
}
};
int main(){
float a,b;
cout<<"请输入半径"<<endl;
cin>>a;
cout<<"请输入高"<<endl;
cin>>b;
CCylinder c;
c.GetVol(a,b);
c.GetArea(a,b);
return 0;
}

追问

运行了还是不对T T

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-11-19
getarea获取表面积公式不对,应该为2*PI*r*r+2*PI*r*h追问

还有别的语法问题吗
生成失败。。T T

第2个回答  2017-11-19
大一新生求助
相似回答