首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这个程序有异常,求指导。多谢各位

2012-11-03 
这个程序有错误,求指导。。。谢谢各位#includeiostreamusing namespace stdclass Column{friend void prin

这个程序有错误,求指导。。。谢谢各位
#include<iostream>

using namespace std;
class Column{
  friend void print(Column &C);
friend void setData(Column &,double,double,double,double);
  public:
Column(double x,double y,double r,double h);
~Column();
double area();
double volumn();//体积
private:
double height;
double radius;
double x;
double y;
};

Column::Column(double x,double y,double r,double h)
{
// x=y=r=h=0;
height=h;
radius=r;
}
void setData(Column &C,double x,double y,double r,double h)
{

C.x=x;
C.y=y;
C.height=h;
C.radius=r;
}

double Column::area()
{
double area;
double const PI=3.1415926;
area=2*PI*C.radius*C.height+2*PI*C.radius*C.radius;
return area;
}

double Column::volumn()
{
double const PI=3.1415926;
return(C.radius*C.radius*PI*C.height);
}

void print(Column &C)
{
char key;
double x,y,r,h;
cout<<"x: ";
cin>>x;
cout<<endl<<"y: ";
cin>>y;
cout<<endl<<"h: ";
cin>>h;
cout<<endl<<"r: ";
cin>>r;
setData(Column &C,x,y,r,h);
cout<<endl<<endl
<<"1.area"<<endl
<<"2.vlumn"<<endl;
cin >>key;
if(key=='1')
{
double area;
area=C.area();
cout<<area<<endl;
}
else
{
if(key=='2')
{
double v;
v=C.volumn();
cout<<v<<endl;
}
else
{
cout<<"输入错误"<<endl;
C.height();
}
}
}

void main()
{
Column C;

C.print;
}



[解决办法]

C/C++ code
#include <iostream>using namespace std;#include<iostream>using namespace std;class Column{    friend void print(Column &C);    friend void setData(Column &,double,double,double,double);public:    Column(double x,double y,double r,double h);    ~Column();    double area();    double volumn();//体积private:    double height;    double radius;    double x;    double y;};Column::Column(double x,double y,double r,double h){    // x=y=r=h=0;    height=h;    radius=r;}Column::~Column(){}void setData(Column &C,double x,double y,double r,double h){    C.x=x;    C.y=y;    C.height=h;    C.radius=r;}double Column::area(){    double area;    double const PI=3.1415926;    area=2*PI*radius*height+2*PI*radius*radius;    return area;}double Column::volumn(){    double const PI=3.1415926;    return(radius*radius*PI*height);}void print(Column &C){    char key;    double x,y,r,h;    cout<<"x: ";    cin>>x;    cout<<endl<<"y: ";    cin>>y;    cout<<endl<<"h: ";    cin>>h;    cout<<endl<<"r: ";    cin>>r;    setData(C,x,y,r,h);    cout<<endl<<endl        <<"1.area"<<endl        <<"2.vlumn"<<endl;    cin >>key;    if(key=='1')    {        double area;        area=C.area();        cout<<area<<endl;    }    else    {        if(key=='2')        {            double v;            v=C.volumn();            cout<<v<<endl;        }        else        {            cout<<"输入错误"<<endl;        //    C.height();        }    }}void main(){    Column C(2.0, 2.0, 2.0, 2.0);    print(C);} 

热点排行