Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Question: Implement the statistician class. The class definition is given in stats.h. You will write all stats.cpp file, which will have the implementations of all

Question: Implement the statistician class. The class definition is given in stats.h. You will write all stats.cpp file, which will have the implementations of all the statisticians member functions. Use statexam.cpp to test the correctness of your statistician class.

--------------------------------

the stats.h file:

 //a class to keep track of statistics on a sequence of real numbers class statistician { public: // CONSTRUCTOR // Postcondition: The object has been initialized, and is ready to accept // a sequence of numbers. Various statistics will be calculated about the // sequence. statistician( ); // MODIFICATION MEMBER FUNCTIONS // Postcondition: The number r has been given to the statistician as the next number in // its sequence of numbers. void next(double r); // Postcondition: The statistician has been cleared, as if no numbers had // yet been given to it. void reset( ); // CONSTANT MEMBER FUNCTIONS // Postcondition: The return value is the length of the sequence that has // been given to the statistician (i.e., the number of times that the // next(r) function has been activated). int length( ) const; // Postcondition: The return value is the sum of all the numbers in the // statistician's sequence. double sum( ) const; // Precondition: length( ) > 0 // Postcondition: The return value is the arithmetic mean (i.e., the // average of all the numbers in the statistician's sequence). double mean( ) const; // Precondition: length( ) > 0 // Postcondition: The return value is the tinyest number in the // statistician's sequence. double minimum( ) const; // Precondition: length( ) > 0 // Postcondition: The return value is the largest number in the // statistician's sequence. double maximum( ) const; private: int count; // How many numbers in the sequence double total; // The sum of all the numbers in the sequence double tinyest; // The smallest number in the sequence double largest; // The largest number in the sequence };

-------------------------------------------------------------------------

statexam.cpp file:

// FILE: statexam.cpp // Written by Michael Main (main@colorado.edu) // This program calls three test functions to test the statisitician class. // Maximum number of points from this program is 69. #include #include #include #include // Provides memcpy function #include "stats.h" using namespace std; bool close(double a, double b) { const double EPSILON = 1e-5; return (fabs(a-b) < EPSILON); } int test1( ) { // Test program for basic statistician functions. // Returns 62 if everything goes okay; otherwise returns 0. statistician s, t; int i; double r = 0; if (s.length( ) || t.length( )) return 0; if (s.sum( ) || t.sum( )) return 0; for (i = 1; i <= 10000; i++) { s.next(i); r += i; }; if (t.length( ) || t.sum( )) return 0; if (s.length( ) != 10000) return 0; if (!close(s.sum( ), r)) return 0; if (!close(s.mean( ), r/10000)) return 0; // Reset and then retest everything s.reset( ); t.reset( ); r = 0; if (s.length( ) || t.length( )) return 0; if (s.sum( ) || t.sum( )) return 0; for (i = 1; i <= 10000; i++) { s.next(i); r += i; }; if (t.length( ) || t.sum( )) return 0; if (s.length( ) != 10000) return 0; if (!close(s.sum( ), r)) return 0; if (!close(s.mean( ), r/10000)) return 0; return 62; } int test2( ) { // Test program for minimum/maximum statistician functions. // Returns 7 if everything goes okay; otherwise returns 0. statistician s, t, u; double r = 1000; char n[15] = "10000000000000"; if (s.length( ) || t.length( )) return 0; if (s.sum( ) || t.sum( )) return 0; memcpy(&r, n, sizeof(double)); r = 1/r; s.next(r); if ((s.minimum( ) != r) || (s.maximum( ) != r)) return 0; r *= -1; t.next(r); if ((t.minimum( ) != r) || (t.maximum( ) != r)) return 0; u.next(100); u.next(-1); u.next(101); u.next(3); if ((u.minimum( ) != -1) || (u.maximum( ) != 101)) return 0; return 7; } int main( ) { int value = 0; int result; cerr << "Running statistician tests:" << endl; cerr << "TEST 1:" << endl; cerr << "Testing next, reset, length, sum, and mean (62 points). "; result = test1( ); value += result; if (result > 0) cerr << "Test 1 passed." << endl << endl; else cerr << "Test 1 failed." << endl << endl; cerr << " TEST 2:" << endl; cerr << "Testing minimum and maximum member functions (7 points). "; result = test2( ); value += result; if (result > 0) cerr << "Test 2 passed." << endl << endl; else cerr << "Test 2 failed." << endl << endl; cerr << "If you submit the statistician to Dora now, this part of the "; cerr << "grade will be " << value << " points out of 69. "; return EXIT_SUCCESS; } --- 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored 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

Recommended Textbook for

Database And Expert Systems Applications Dexa 2023 Workshops 34th International Conference Dexa 2023 Penang Malaysia August 28 30 2023 Proceedings

Authors: Gabriele Kotsis ,A Min Tjoa ,Ismail Khalil ,Bernhard Moser ,Atif Mashkoor ,Johannes Sametinger ,Maqbool Khan

1st Edition

303139688X, 978-3031396885

More Books

Students also viewed these Databases questions

Question

When is it appropriate to use a root cause analysis

Answered: 1 week ago

Question

You have

Answered: 1 week ago