#include <iostream>
#include <string>
using namespace std;
class Circle{
int radious;
string name;
public:
void setcircle(string name,int radious);
double getArea();
string getName();
};
void Circle::setcircle(string name,int radious){
this -> name =name;
this -> radious = radious;
}
double Circle::getArea(){
return radious*radious*3.14;
}
string Circle::getName(){
return name;
}
class CircleManager {
Circle *p;
int size;
public:
CircleManager(int size);
~CircleManager(){delete [] p ;}
void searchByname();
void searchByArea();
};
CircleManager::CircleManager(int size){
p = new Circle[size];//동적생성하기
string str;
int rad;
for(int i=0; i<size ; i++){
cout << "원 " << i+1 <<"의 이름과 반지름 >>";
cin >> str >> rad;
p[i].setcircle(str, rad);
}
}
void CircleManager::searchByname(){
string str;
cout << "검색하고자 하는 원의 이름>>";
cin >> str;
for(int i=0 ; i<size ; i++){
if(p[i].getName()==str){
cout << p[i].getName() <<"의 면적은 " << p[i].getArea() << endl;
}
}
}
void CircleManager::searchByArea(){
int area;
cout << "최소 면적을 정수로 입력하세요>>";
cin >> area;
cout << area << " 보다 큰 원을 검색합니다." << endl;
for(int i=0 ; i<size ; i++){
if( p[i].getArea() > area){
cout << p[i].getName() << "의 면적은 " << p[i].getArea() << ",";
}
}
}
int main() {
int num;
cout << "원의갯수 >>";
cin >> num;
CircleManager circlech(num);
circlech.searchByname();
circlech.searchByArea();
cout <<endl;
return 0;
}