#include <iostream>
#include <string>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Circle{
int radius;
string name;
public:
void setCircle(string name, int radius){
this->name=name;
this->radius=radius;
}
double getArea(){
return radius*radius*3.14;
}
string getName(){
return name;
}
};
class CircleManager{
Circle *circle;
int num;
public :
CircleManager(){
}
CircleManager(int num);
~CircleManager(){
delete[] circle;
}
void searchByName();
void searchByArea();
};
CircleManager:: CircleManager(int num){
string name;
int radius;
circle= new Circle[num];
this->num=num;
for(int i=0; i<num; i++){
cout <<"원 " << i+1 << "의 이름과 반지름 >>" ;
cin>> name >> radius;
circle[i].setCircle(name,radius);
}
fflush(stdin);
}
void CircleManager:: searchByName(){
string name;
int n;
cout << "검색하고자 하는 원의 이름 >> ";
cin>> name;
for(int i=0; i<num; i++){
if(circle[i].getName()==name){
cout << circle[n].getName() << "의 면적은 " << circle[n].getArea() <<endl;
}
}
}
void CircleManager:: searchByArea(){
int area;
cout << "최소 면적을 정수로 입력하세요 >> ";
cin >> area;
cout <<area <<"보다 큰 원을 검색합니다." << endl;
for(int i=0; i<num;i ++){
if(circle[i].getArea() >area ){
cout << circle[i].getName()<< "의 면적은 " << circle[i].getArea();
}
}
}
int main(int argc, char** argv) {
Circle * circle;
int num;
string name;
int area;
cout<<"원의 개수 >> ";
cin >> num;
CircleManager cm(num);
cm.searchByName();
cm.searchByArea();
return 0;
}