Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

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 funcitons to obtain infomration 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 inthe 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 enumbers 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 funciton that erases the sequene ( so that the statistician can start afresh with a new sequenece).

Notes: Do not try to store the entire sequence(because you don't know how long this sequence will be). Instead, just store the necessary information about the sequence: What is the sequence lenghth? 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.

2) Overload the + operator to allow YOU TO add two statisticians from the previous project. If s1 and s2 are two statistics that behaves as it it had the numbers of s1 followed by all of the numbers of s2

This is the C++ code that I have so far. I'm having problem making it work.

main.cpp

#include using std::cout; using std::cin; using std::endl;

int main() {

Statistician s; char ch; double number;

do {

cout <<"Enter your choice of a next number: "; cin >>number;

s.nextNumber(number);

cout<

cout<

cout<

cout<

cout<

cout< cin>> ch;

if(tolower(ch)== 'n') {

cout <<"Do you want to continue to a new sequence? (Y/N)"; cin>> ch;

if(tolower(ch)!='n') s.deleteValues();

}

}

while (tolower(ch)!='n');

return 0;

}

STATISTICIAN.h

#include using std::cout; using std::cin; using std::endl;

#ifndef STATISTICIAN_H #define STATISTICIAN_H

class Statistician { public: Statistician();

double getSequenceLength(); double getSumOfNumbers(); double getSmallest(); double getLargest(); double getLastNumber();

void arithmeticMean(); void nextNumber (double); void deleteValues();

private:

double sequenceLength; double sumOfNumbers; double smallest; double largest; double lastNumber;

};

#endif // STATISTICIAN_H

STATISTICIAN.cpp

#include using std::cout; using std::cin; using std::endl; #include "STATISTICIAN.h"

Statistician::Statistician() { sequenceLength = 0; sumOfNumbers = 0; smallest = 999999; largest = -0.99999; }

double Statistician::getSequenceLength() {

return sequenceLength;

}

double Statistician::getSumOfNumbers() {

return sumOfNumbers;

}

double Statistician::getSmallest() {

if (sequenceLength !=0) return smallest;

cout < return -1;

}

double Statistician::getLargest () {

if (sequenceLength !=0) return largest;

cout < return -1; }

void Statistician::getLastNumber() {

return lastNumber;

}

void Statistician::arithmeticMean() {

if (sequenceLength==0) cout< else cout<

}

void Statistician::nextNumber(double number) {

sequenceLength++; sumOfNumbers += number; lastNumber = number;

if(largest largest = number;

if(smallest>number) smallest = number;

}

void Statistician::deleteValues() {

sequenceLength = 0; sumOfNumbers = 0; smallest = 999999; largest = -0.9999;

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions