C ++使用getArea()并访问数组来计算圆的区域

时间:2012-08-07 21:59:12

标签: c++ arrays visual-studio-2010 geometry member-functions

我需要一些帮助来解决以下问题,即使用getArea()方法计算出数组中每个圆的区域。如何使用Circle :: getArea()成员函数访问数组然后计算圆的区域。

Main.cpp文件

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

#include "Circle.h"
#include "Random.h"

int main()
{
    // Array 1, below section is to populate the array with random 
    // radius number within lower and upper range
    int CircleArrayOne [5];
    const int NUM = 5;

    srand(time(NULL));

    for(int x = 0; x < NUM; ++x)
    {
        CircleArrayOne[x] = Random::random(1, 40); // assumed 0 and 40 as the bounds
    }

    // output the radius of each circle
    cout << "Below is the radius each of the five circles in the second array. " << endl;

    // below is to output the radius in the array
    for(int i = 0; i < NUM; ++i) 
    {
        cout << CircleArrayOne[i] << endl;
    }

    // Here I want to access the array to work out the area using 
    // float Circl::getArea()

    system("PAUSE");
    return 0;
}

float Circle::getArea()
{
    double PI = 3.14;
    return (PI * (Radius*Radius));
}

float Circle::getRadius()
{
    return Radius;
}

int Random::random(int lower, int upper)
{
    int range = upper - lower + 1;
    return (rand() % range + lower);
}

Circle.h文件

#pragma once
#include <string>

class Circle 
{
private:
    float Radius;

public:
    Circle(); // initialised radius to 0
    Circle(float r); // accepts an argument and assign its value to the radius attribute
    void setRadius(float r); // sets radius to a value provided by its radius parameter (r)
    float getRadius(); // returns the radius of a circle
    float getArea(); // calculates and returns the areas of its circle
};

感谢。 非常感谢很多帮助。

1 个答案:

答案 0 :(得分:1)

到目前为止,您只有圆圈的随机半径,但没有Circle个对象。所以,首先创建圆形对象。

Circle obj[5];   // Create 5 objects default constructed.

现在使用setRadius设置每个对象半径并在每个对象上调用区域。