Carleton University
Department of Systems and Computer Engineering
SYSC 2002 - Winter 2011

Assignment 10

This assignment involves rewriting your assignment #9 to use recursion in some of the methods.

The main program is identical to that of assignment #8. The Customer class is also identical to that of assignment #8, and the sample executable is the same as for assignment #9.

Add the following to the private section of your header file from assignment #9 (or to the sample solution):
    // new private recursive helper methods
    void subCopyDB(CNode* &subHead, CNode* otherSubHead); // used by copyDB
    void subDeleteDB(CNode* &subHead); // used by deleteDB
    bool subIDInUse(int nID, CNode* subHead) const; // used by add and changeID
    bool subRemove(int id, CNode* subPrev, CNode* subCurr); // used by remove
    void subPrint(CNode *subHead) const; // used by print
    bool subChangeID(int id, int nID, CNode* subHead); // used by changeID

Convert the methods listed in the comments to the right to use the recursive submethods, and also write the implementation of the submethods.

The behaviour of assignments #9 and #10 is identical.

Submit files "CustomerDB.h" and "CustomerDB.cpp".

Updated: Mon Mar 14th, 2011