c++ 圆形面积

2025-06-28 03:40:32
推荐回答(5个)
回答1:

#include  //头文件
class Circle      //定义圆类
{
int radius;      //圆的半径
public: 
Circle(int r)         //构造函数(作用初始化圆类的私有变量半径)
{radius=r;      

double GetArea()      //计算面积
{return 3.14*radius*radius; 

}; 
void main() 
{Circle c(1);   //定义一个圆类对象C
cout<<"area:"<}

回答2:

#include //头文件
class Circle //定义圆类
{
int radius; //圆的半径
public:
Circle(int r) //构造函数(作用初始化圆类的私有变量半径)
{radius=r;
}
double GetArea() //计算面积
{return 3.14*radius*radius;
}
};
void main()
{Circle c(1); //定义一个圆类对象C
cout<<"area:"<}

回答3:

//------------------------------------------------------------------------------
// Copyright (c) 2009 eryar All rights reserved.
//
// File : Main.cpp
// Author : eryar@163.com
// Date : 2009-10-12 22:30
// Version : 1.0v
//
// Description :
//
//==============================================================================

#include
using namespace std;

class Circle{
public:
Circle(int r = 0, int d = 0);
void Set(int r, int d);
void ShowArea();
~Circle() {}
private:
int radius;
int degree;
};

Circle::Circle(int r, int d ) {
radius = r;
degree = d;
}

void Circle::Set(int r, int d) {
radius = r;
degree = d;
} // Set

/*
Parameter : none
Return : none
Description : 输出Cirlce的剩余面积(要求取整数部分)
*/
void Circle::ShowArea() {
int area;
area = 3 * radius * radius * degree / 360;
cout<<"剩余部分的面积是 : "<} // ShowArea

int main(int argc, char* argv[])
{
int iTimes = 0;
int iRadius = 0;
int iDegree = 0;

Circle circle[100];

cout<<"Input : "< cin>>iTimes;

for (int i = 0; i < iTimes; ++i) {
cin>>iRadius>>iDegree;

if ( iRadius > 0 && iDegree > 0) {
circle[i].Set(iRadius, iDegree);
}
}

cout<<"Output : "< for (int i = 0; i < iTimes; ++i) {
circle[i].ShowArea();
}

return 0;
}

/*
设计一个类Cirlce,含有radius、degree两个整型属性,构造函数Cirlce(int,int)的参数含缺省值定义,缺省值为0。
其中radius表示圆的半径,degree表示圆缺了一角的度数。成员函数showarea()输出Cirlce的剩余面积(要求取整数部分)。
圆周率PI的取值为整数3。
Input:
3
-3 60
4 120
5 180
Output:
0
32
37
输入说明:
输入第一行表示有X组输入数据。X为大于0的整型。
接下X行为输入数据,每组占一行,每行2个整型,分别为半径和缺角度数。
如果输入数据中有一个小于0,则构造时使用缺省值,否则使用输入数据初始化对象。
输出说明:
输出Cirlce对象的剩余面积,输出后换行。
*/

回答4:

#include
#include

class Shape
{
public:
virtual double GetArea() const = 0;
};

//三角形
class Triangle : public Shape
{
public:
Triangle(double a, double b, double c)
: m_a(a), m_b(b), m_c(c) {}

double GetArea() const
{
//海伦公式求面积
const double p = (m_a + m_b + m_c) / 2;
return sqrt(p * (p - m_a) * (p - m_b) * (p - m_c));
}

private:
double m_a, m_b, m_c;
};

//圆形
class Circle : public Shape
{
public:
Circle(double r) : m_r(r) {}

double GetArea() const
{
return PI * m_r * m_r;
}

private:
static const double PI;
double m_r;
};

const double Circle::PI = 3.1415926;

//矩形
class Rectangle : public Shape
{
public:
Rectangle(double a, double b) : m_a(a), m_b(b) {}

double GetArea() const
{
return m_a * m_b;
}

private:
double m_a, m_b;
};

int main()
{
Shape* pTriangle = new Triangle(3, 4, 5);
printf("The area of Triangle is %lf\n", pTriangle->GetArea());

Shape* pCircle = new Circle(2);
printf("The area of Circle is %lf\n", pCircle->GetArea());

Shape* pRectangle = new Rectangle(3, 4);
printf("The area of Rectangle is %lf\n", pRectangle->GetArea());

delete pTriangle;
delete pCircle;
delete pRectangle;

return 0;
}

回答5:

楼上的太复杂了,最简版本如下:
#include
class Circle
{public:
int radius;
Circle(int r)
{radius=r;
}
double GetArea()
{return 3.14*radius*radius;
}
};
void main()
{Circle c(1);
cout<<"area:"<}