A tiny OOP challenge (Python, Java, C++, any language with class) /

Words
127
Reading
1 min
Listen
Play
9y

Let's try something different. A task.

Write a class "Averager" which must be able to compute the average of a whole bunch of numbers. Here are the methods to be implemented:

  • void add(double number) ... add a number to the dataset
  • double getAverage() ... gives the average of all numbers
  • double getSum() ... gives the sum of all numbers
  • int getNum() ... gives the count of all numbers so far
  • void reset() ... empty data set

Here's an example call and use of this calls in C++:

int main()
{
    double testvals[] = { 3.0, 2.0, 1.0, 0.0, 4.0 };
    Averager *averager = new Arerager();
    int num = sizeof(testvals) / sizeof(double);
    for (int i = 0; i < num; i++)
    {
        averager->add(testvals[i]);
    }
    cout << "Durchschnitt: " << averager->getAverage() << endl; // 2.0
    cout << "Summe:        " << averager->getSum() << endl; // 10.0
    cout << "Anzahl:       " << averager->getNum() << endl; // 5

    averager.reset();

    for (int i = 0; i < num; i++)
    {
        averager->add(testvals[i]);
        averager->add(testvals[i]);
    }
    cout << "Durchschnitt: " << averager->getAverage() << endl; // 2.0
    cout << "Summe:        " << averager->getSum() << endl; // 20.0
    cout << "Anzahl:       " << averager->getNum() << endl; // 10
}

I wish you guys a nice saturday.

PS you can make code blocks with 3 ` in a row.

like so

I think of this challenge because I have to learn C++ for work.

Take care
qed@qed

A tiny OOP challenge (Python, Java, C++, any language with class) / | Ecency