注册 登录
编程论坛 C++教室

我是菜鸟。大家帮忙看看错误啊。调用怎么弄?

木头lbj 发布于 2010-11-11 00:01, 612 次点击
#include <iostream>
#include <cmath>
#define PI 3.14159
using namespace std;
class tux
{
public:
    float area;
    int y,j,z;
    int flag;
    void choice()
    {
        cout<<"请输入您要求的图形类型|1:圆形,2:矩形,3:正方形:"<<endl;
        cin>>flag;
    }
    void yuan()
    {
        float r;
        cout<<"请输入半径:"<<endl;
        cin>>r;
        area=PI*r*r;
        cout<<area<<endl;
    }
    void juxing()
    {
        float a;
        float b;
        cout<<"请输入长和宽:"<<endl;
        area=a*b;
    }
    void fangx()
    {
        float x;
        cout<<"请输入边长:"<<endl;
        area=x*x;
    }
};
int main()
{
    int y,j,z;
    int flag;
    tux mj;
    mj.choice();
    if (flag==1)
        mj.yuan();
    else if
        (flag==2)
        mj.juxing();
    else
        mj.fangx();
/*switch(flag)
    {
    case y:mj.yuan();break;
    case j:mj.juxing();break;
    case z:mj.fangx();break;
    default: break;
    }*/
    //mj.output();
    return 0;
}
9 回复
#2
木头lbj2010-11-11 08:36
/*switch(flag)
    {
    case y:mj.yuan();break;
    case j:mj.juxing();break;
    case z:mj.fangx();break;
    default: break;
    }*/
    //mj.output();
使用switch语句同样不行。
后面应该是mj.output
打的时候错了
#3
su8585145582010-11-11 11:52
#include <iostream>
#include <cmath>
#define PI 3.14159
using namespace std;
class tux
{
public:
    float area;
    int y,j,z;
    int flag;
    void choice()
    {
        cout<<"请输入您要求的图形类型|1:圆形,2:矩形,3:正方形:"<<endl;
    }
    void yuan()
    {
        float r;
        cout<<"请输入半径:"<<endl;
        cin>>r;
        area=PI*r*r;
        cout<<area<<endl;
    }
    void juxing()
    {
        float a;
        float b;
        cout<<"请输入长和宽:"<<endl;
        cin>>a;
        cin>>b;
        area=a*b;
        cout<<area<<endl;
    }
    void fangx()
    {
        float x;
        cout<<"请输入边长:"<<endl;
        cin>>x;
        area=x*x;
        cout<<area<<endl;
    }
};
int main()
{
    int flag;
    tux mj;
    mj.choice();
    cin>>flag;
    if(flag==1)
    {
        mj.yuan();
    }
    else if(flag==2)
        mj.juxing();
    else
        mj.fangx();

    return 0;
}
#4
su8585145582010-11-11 12:42
#include <iostream>
#include <cmath>
#define PI 3.14159
using namespace std;
class tux
{
public:
    float area;
    int y,j,z;
    int flag;
    void choice()
    {
        cout<<"请输入您要求的图形类型|1:圆形,2:矩形,3:正方形:"<<endl;
    }
    void yuan()
    {
        float r;
        cout<<"请输入半径:"<<endl;
        cin>>r;
        area=PI*r*r;
        cout<<area<<endl;
    }
    void juxing()
    {
        float a;
        float b;
        cout<<"请输入长和宽:"<<endl;
        cin>>a;
        cin>>b;
        area=a*b;
        cout<<area<<endl;
    }
    void fangx()
    {
        float x;
        cout<<"请输入边长:"<<endl;
        cin>>x;
        area=x*x;
        cout<<area<<endl;
    }
};
int main()
{
    int flag;
    tux mj;
    mj.choice();
    cin>>flag;
    if(flag==1)
    {
        mj.yuan();
    }
    else if(flag==2)
        mj.juxing();
    else
        mj.fangx();

    return 0;
}


[ 本帖最后由 su858514558 于 2010-11-11 12:44 编辑 ]
#5
木头lbj2010-11-11 19:05
回复 4楼 su858514558
我明白了。
但是这个用switch语句不行么?
#6
su8585145582010-11-11 20:50
我看着 行   
#7
VenusNefu2010-11-24 13:33
回复 楼主 木头lbj
程序代码:
switch(flag)
    {
    case 0:mj.yuan();break;
    case 1:mj.juxing();break;
    case 2:mj.fangx();break;
    default: break;
    }
#8
火龙果2010-11-25 20:31
#include <iostream>
#include <cmath>
#define PI 3.14159
using namespace std;
class tux
{
public:
    float area;
    int y,j,z;
    int flag;
    void choice()
    {
        cout<<"请输入您要求的图形类型|1:圆形,2:矩形,3:正方形:"<<endl;
    }
    void yuan()
    {
        float r;
        cout<<"请输入半径:"<<endl;
        cin>>r;
        area=PI*r*r;
        cout<<area<<endl;
    }
    void juxing()
    {
        float a;
        float b;
        cout<<"请输入长和宽:"<<endl;
        cin>>a>>b;
        area=a*b;
        cout<<area<<endl;
    }
    void fangx()
    {
        float x;
        cout<<"请输入边长:"<<endl;
        cin>>x;
        area=x*x;
        cout<<area<<endl;
    }
};
int main()
{
    //int y,j,z;
    int flag;
    tux mj;
    mj.choice();
    cin>>flag;
    if (flag==1)
        mj.yuan();
    else if
        (flag==2)
        mj.juxing();
    else
        mj.fangx();
/*switch(flag)
    {
    case y:mj.yuan();break;
    case j:mj.juxing();break;
    case z:mj.fangx();break;
    default: break;
    }*/
    //mj.output();
    return 0;
}
#9
火龙果2010-11-25 20:32
学c++的时候小心点,注重要理解,格式有点问题哦
还有些输入输出的问题还没搞懂
#10
平常心飞儿2010-11-26 23:03
不是不可以用  是没有必要用  
int main()
{
    int y,j,z;
    int flag;
    tux mj;
    mj.choice();
    if (mj.flag==1)
        mj.yuan();
    else if
        (mj.flag==2)
        mj.juxing();
    else
        mj.fangx();

    return 0;
}
1