원을 개수를 입력 받고 Circle 배열을 동적 생성하라. 반지름 값을 입력 받아 Circle 배열에 저장하고, 면적이 100 에서 200 사이인 원의 개수를 출력하라.
宣言圆类函数和说明圆的面积
#include <iostream>
using namespace std;
class Circle{
int radius; //初始化 半径(全部的函数都可以使用)
public:
Circle() {radius =1 ;} //具体化生成者,且里面没有变量的时候,半径等于1;
Circle(int r){radius =r ;} //具体化生成者,且里面有变量的时候,半径等于r;
double getArea();
void setRadius(int r){ radius = r;}
};
//说明圆的面积
double Circle::getArea(){
return 3.14*radius*radius;
}
while 循环的解决方案
int main (){
cout << "想生成几个圆呢?";
int n, radius;
cin >> n; //输入圆的个数
Circle *pArray = new Circle [n];//生成圆的排列
int i=0;
while (i<n) {
cout<<" 圆 " << i+1 << " : "; //提示词
cin >> radius;
pArray[i].setRadius(radius);
i++;
}
int count=0;
Circle* p=pArray;
int m=0;
while (m<n) {
cout << p->getArea()<<" "; //输出圆的面积
if(p->getArea() >= 100 && p->getArea() <= 200)
count++;
p++;
m++;
}
cout <<endl <<" 面积在100到2000之间的圆的个数 " << count << endl;
delete []pArray;//消灭客厅的排列
}
for 循环的解决方案
int main (){
cout << "想生成几个圆呢?";
int n, radius;
cin >> n; //输入圆的个数
Circle *pArray = new Circle [n];//生成圆的排列
for (int i=0; i<n; i++) {
cout<<" 圆 " << i+1 << " : "; //提示词
cin >> radius;
pArray[i].setRadius(radius);
}
int count=0;//初始化数目
Circle* p=pArray;//排列指向p
for(int m=0 ; m<n; m++){
cout << p->getArea()<<" "; //输出圆的面积
if(p->getArea() >= 100 && p->getArea() <= 200)
count++;
p++;
}
cout <<endl <<" 面积在100到2000之间的圆的个数 " << count << endl;
delete []pArray;//消灭客厅的排列
}