Question
data structure C++ Part 1 Specify, design, and implement a class called statistician. After a statistician is initialized, it can be given a sequence of
data structure C++
Part 1
Specify, design, and implement a class called statistician. After a statistician is initialized, it can be given a sequence of double numbers. Each number in the sequence is given to the statistician by activating a member function called next_number. For example, we can declare a statistician called s and then give it the sequence of numbers 1.1, -2.4, 0.8 as shown here:
statistician s; s.next_number(1.1); s.next_number(-2.4); s.next_number(0.8);
After a sequence has been given to a statistician, there are various member function to obtain information about the sequence. Include member functions that will provide the length of the sequence, the last number of the sequence, the sum of all the numbers in the sequence, the arithmetic mean of the numbers (i.e., the sum of the numbers divided by the length of the sequence), the smallest number in the sequence, and the largest number in the sequence. Notice that the length and sum functions can be called at any time, even if there are no numbers in the sequence. In this case of an empty sequence, both length and sum will be zero. But the other member functions all have a precondition requiring that the sequence is non-empty.
You should also provide a member function that erases the sequence (so that the statistician can start afresh with a new sequence).
Notes: Do not try to store the entire sequence (because you dont know how long this sequence will be). Instead, just store the necessary information about the sequence: What is the sequence length? What is the sum of the numbers in the sequence? What are the last, smallest, and largest numbers? Each of these pieces of information can be stored in a private member variable that is updated whenever next_number is activated.
Part 2
Overload the + operator to allow you to add two statisticians from the previous part. If s1 and s2 are two statisticians, then the result of s1 + s2 should be a new statistician that behaves as if it had all of the numbers of s1 followed by all of the numbers of s2.
Overload the output operator so a summary of the information about the sequence is given.
sum = -2, length = 2, min = -2, max = 0, avg = -1, last = -2
Note, if there is nothing in the sequence, it should just print:
sum = 0, length = 0
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started