1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #include <iostream> #include <string> #define PI 3.141592 using namespace std; class Circle { int radius; string name; public: void setCircle(string name, int radius) { this->name = name; this->radius = radius; } double getArea() { return PI * radius*radius; } string getName() { return name; } }; class CircleManager { Circle *p; int size; public: CircleManager(int size); ~CircleManager() { delete[]p; } void searchByName(); void searchByArea(); }; CircleManager::CircleManager(int size) { string name; int radius; this->size = size; p = new Circle[size]; for (int i = 0; i < size; i++) { cout << "원 " << i + 1 << "의 이름과 반지름 >> "; cin >> name; cin >> radius; p[i].setCircle(name, radius); } } void CircleManager::searchByName() { string name; cout << "검색하고자 하는 원의 이름 >> "; cin >> name; for (int i = 0; i < size; i++) { if (p[i].getName() == name) { 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() << ","; } } cout << endl; } int main() { int size; cout << "원의 개수 >> "; cin >> size; CircleManager p(size); p.searchByName(); p.searchByArea(); } | cs |
'Programming > 명품 C++ Programming' 카테고리의 다른 글
| 명품 C++ Programming 실습문제 4장 11번 (0) | 2018.05.06 |
|---|---|
| 명품 C++ Programming 실습문제 4장 10번 (0) | 2018.05.06 |
| 명품 C++ Programming 실습문제 4장 8번 (0) | 2018.05.06 |
| 명품 C++ Programming 실습문제 4장 7번 (0) | 2018.05.05 |
| 명품 C++ Programming 실습문제 4장 6번 (0) | 2018.05.05 |