1: // Filename: LNODEDRV.CPP 2: // Purpose: Driver for a demonstration program to illustrate 3: // operations on a sequence of linked nodes. 5: #include <iostream> 6: using namespace std; 8: #include "LNODEFUN.H" 9: #include "PAUSE.H" 12: int main() 13: { 14: NodePointer head; 15: int menuChoice; 17: DescribeProgram(); 18: Pause(0); 20: InitializeSequence(head); 22: do 23: { 24: DisplayMenu(); 25: GetMenuChoice(menuChoice); 26: switch (menuChoice) 27: { 28: case 1: /* Quit */ break; 29: case 2: InitializeSequence(head); break; 30: case 3: PrintNodeValues(head); 31: Pause(0); break; 32: case 4: BuildSequenceFixedSize(head); break; 33: case 5: BuildSequenceAnySize(head); break; 34: case 6: FindDataValues(head); break; 35: case 7: FindPositions(head); break; 36: case 8: InsertAfterNodeWithDataValue(head); break; 37: case 9: InsertAfterNodeK(head); break; 38: case 10: InsertBeforeNodeWithDataValue(head); break; 39: case 11: InsertBeforeNodeK(head); break; 40: case 12: DeleteNodeWithDataValue(head); break; 41: case 13: DeleteNodeK(head); break; 42: case 14: ProcessAllNodes(head, Double); break; 43: case 15: ProcessAllNodes(head, Square); break; 44: case 16: ProcessAllNodes(head, ReverseAllDigits); break; 45: } 47: } while (menuChoice != 1); 49: return 0; 50: }