** Sample Logic Manual ** Data Structures =============== This program implements an arithmetic calculator. The calculator uses a theoretically unlimited operand stack. Thus, a decision was made to implement the stack using a linked list. This singly-linked list is implemented in the class Stack. Error Handling ============== Several decisions were made concerning proper error handling. For robustness, the following errors are trapped: * division by zero In this case, an indication message is output to the screen and both operands are returned to the stack. The user must then select a new (valid) operation. * insufficient number of operands In the case there are no operands on the stack, a warning is output to the screen and the operation symbol is discarded. If there is only one operand on the stack, a warning is output to the screen, the operand is returned to the stack, and the operation symbol is discarded. Etc., etc., etc. File Structuring ================ Stack.h Contains the interface for the Stack class. Stack inherits the public interface of class LinkedList and is a templated class. (Describe LinkedList elsewhere in this file) List the names of all the member functions here, including their signatures, with a few words on their function. Discuss their implementation here as well, even if the source for the implementation of the member function appears in a .C file. Member functions Stack() The constructor (only describe the constructor if it does anything unusual) ~Stack() The destructor (only describe the destructor if it does anything unusual) Success push(T x) Pushes x (of type T) onto the stack Returns a completion code indicating success or failure of the operation: OK or OVERFLOW Success pop(T& x) Pops top of the stack into x (of type T) Returns a completion code indicating success or failure of the operation: OK or UNDERFLOW Stack: Stack.C Contains the implementation for the Stack class. Etc. You should include a section for each program module, especially for code that could be re-used as a library for future programs. That way you'll remember what types of input data your module uses, and what type of output data it produces.