#include <iostream>
#include <cmath>
#define pi 3.14

using namespace std;

class Circle {
private:
    double radius;  // 半径

public:
    // 构造函数，初始化半径
    Circle(double r) : radius(r) {}

    // 重载的GetArea()成员函数，计算圆的面积
    double GetArea() const {
        return pi * radius * radius;
    }

    // 重载的GetArea()成员函数，计算圆环的面积
    double GetArea(double outerRadius) const {
        cout << "the ring is created!" << endl;
        return pi * (radius * radius - outerRadius * outerRadius);
    }
};

int main() {
    double radius;
    double outerRadius = 0;  // 圆环的外半径，默认为0

    // 从用户输入读取半径
    cin >> radius;

    if (cin.fail()) {
        cerr << "Invalid input!" << endl;
        return 1;
    }

    // 创建Circle对象
    Circle circle(radius);
	cout << "the circle is created!" << endl;

    // 如果输入了两个值，则计算圆环面积
    if (cin.peek() != '\n') {
        cin >> outerRadius;
        Circle ring(outerRadius);  // 创建圆环对象
        cout << "the ring's area is:" << circle.GetArea(outerRadius) << endl; //输出面积 
    }
	else {
	    cout << "the area is:" << circle.GetArea() << endl;
	}
    return 0;
}
