Question
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
Get Instant Access with AI-Powered 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