计算图形的面积和周长

来源:互联网 发布:iccm软件测试定义 编辑:程序博客网 时间:2024/04/29 04:41

//头文件

#ifndef SHAPE_H

#define SHAPE_H


class Shape
{
public:
    Shape();
};
class Rectangle:public Shape
{
public:
    Rectangle(float xx,float yy);
    void cularea();
    void culclgh();
private:
    float x,y;
};
class Circle:public Shape
{
public:
    Circle(float rr);
    void cularea();
    void culclgh();
private:
    float r;
};
class Square:public Rectangle
{
public:
    Square(float zz,float xx,float yy);
private:
    float z;
};

#endif // SHAPE_H

//源文件

#include <iostream>
using namespace std;

#include "shape.h"
#define pai 3.1415926
Shape::Shape()
{

}
Rectangle::Rectangle(float xx, float yy)
{
    x=xx;
    y=yy;
}
void Rectangle::cularea()
{
    float a,b,s;
    cout<<"Please input len and widge!"<<endl;
    cin>>a>>b;
    s=a*b;
    cout<<"the area is:"<<s<<endl;
}
void Rectangle::culclgh()
{
    float a,b,c;
    cout<<"Please input len and widge!"<<endl;
    cin>>a,b;
    c=2*(a+b);
    cout<<"the Perimeter is:"<<c<<endl;
}
Circle::Circle(float rr)
{
    r=rr;
}
void Circle::cularea()
{
    float rr,s;
    cout<<"Please input the radius!"<<endl;
    cin>>rr;
    s=pai*rr*rr;
    cout<<"the area is:"<<s<<endl;
}
void Circle::culclgh()
{
    float rr,c;
    cout<<"Please input the radius!"<<endl;
    cin>>rr;
    c=2*pai*rr;
    cout<<"the Perimeter is:"<<c<<endl;
}
Square::Square(float zz,float xx,float yy):z(zz),Rectangle(xx,yy)
{

}
//主函数

#include <iostream>
#include <shape.cpp>
using namespace std;

int main(int argc, char *argv[])
{
    cout << "Hello World!" << endl;
    int i;
    cout<<"1.Rectangle 2.Circle 3.Square"<<endl;
    cin>>i;
    if(i==1)
    {
        Rectangle A(0,0);
        A.cularea();
        A.culclgh();
    }
    if(i==2)
    {
        Circle C(0);
        C.cularea();
        C.culclgh();
    }
    if(i!=1&&i!=2)
    {
        cout<<"haha!"<<endl;
        cout<<"GG"<<endl;
    }
    return 0;
}


0 0