-1

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
};

ありがとう。多くの助けをいただければ幸いです。

4

1 に答える 1

1

Circleこれまでのところ、円の半径はランダムですが、オブジェクトはありません。したがって、最初に円オブジェクトを作成します。

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

次に、各オブジェクトの領域を使用して各オブジェクトの半径を設定setRadiusします。

于 2012-08-07T22:05:42.437 に答える