Homework 4: StatServer

Official Release: Open for comment in the discussion forum.

Educational Objectives: After completing this assignment the student should have the following knowledge, ability, and skills:

Operational Objectives: Implement and test the class StatServer and provide a client program computing statistics for a sequence of integers.

Deliverables: Two files statserver.cpp and statclient.cpp

In this assignment you are given the file statserver.h containing the definition of the class StatServer and are asked to supply two things: (1) implementation for the class, in file statserver.cpp; and (2) a client program for the class, in file statclient.cpp, that duplicates the program stats that you wrote for a previous assignment.

Procedural Requirements

  1. Copy the following files from the course library:

    hw4/statserver.h        # contains definition of class StatServer
    hw4/statserver.partial  # begins the implementation - copy to statserver.cpp
    hw4/test.cpp            # client program testing class StatServer
    hw4/makefile            # builds test.x and stats.x
    hw4/hw4submit.sh        # assignment submission script
    

  2. Create the file statserver.cpp implementing the class StatServer

  3. Test your implementation using the supplied client program test.cpp.

  4. Create another client program statclient.cpp that duplicates the behavior of the distributed executable area51/stats_i.x exactly.

  5. Make sure that your programs compile correctly and test them again on program against the behavior of area51/stats_s.x.

  6. Turn in the files statserver.cpp and statclient.cpp using the hw4submit.sh submit script.

    Warning: Submit scripts do not work on the program and linprog servers. Use shell.cs.fsu.edu to submit projects. If you do not receive two confirmations, the second with the contents of your project, there has been a malfunction.

Code Requirements and Specifications

  1. Be sure your code conforms to the standards in C++ Style (available also through the Course Organizer).

  2. Be sure that you have tested your code for syntax errors with the supplied test harness as well as your own test program, using the supplied makefile with warning flags set. All warnings should be eliminated.

  3. Be sure that you have tested your code for both logic errors with the supplied test harness as well as your own test program.

  4. Be sure that your executable stats.x performs exactly like the distrubuted executables in area51.