1. 문제

 

5. 다음과 같이 원을 추상화한 Circle 클래스가 있다. Circle 클래스와 main() 함수를 작성하고 3개의 Circle 객체를 가진 배열을 선언하고, 반지름 값을 입력받고 면적이 100보다 큰 원의 개수를 출력하는 프로그램을 완성하라. Circle 클래스도 완성하라.

 

 

2. 결과

 

 

 

 

3. 코드

 

#include <iostream>
using namespace std;

class Circle {
	int radius;
public :
	void setRadius(int radius);
	double getArea();
};
void Circle::setRadius(int radius) {
	this->radius = radius;
}
double Circle::getArea() {
	return radius * radius * 3.14;
}

int main() {
	Circle c[3]; int r; int count=0;

	for(int i=0; i<3; i++) {
		cout << "원 " << i+1 << "의 반지름 >> ";
		cin >> r;
		c[i].setRadius(r);
	}
	for(int i=0; i<3; i++)
		if( c[i].getArea() > 100 ) count++;
	
	cout << "면적이 100보다 큰 원은 " << count << "개 입니다" << endl;
}

 

 

4. 설명

 

반지름을 설정하는 setRadius(int radios);와 면적을 구하여 return하는 getArea(); 멤버 함수들을 구현 합니다.

 

 

main()에서 크기가 3인 Circle배열을 선언한 후 for문을 사용하여서 각 원의 반지름을 입력 받은 후 setRadius함수로 반지름을 저장합니다.

 

그 다음 for문과 getArea() 멤버 함수를 사용하여서 return 받은 값이 100이 넘으면 count++;을 하여서 면적이 100보다 큰 원의 개수를 구하여 총 몇개인지 출력합니다.

+ Recent posts