Template Stack with re size

copy over all the files provided for you 
the files are in the usual place


For this assignment you will create a template Stack implementation, test main and test files for all 3 datatypes

The stack will be a dynamic design. 
The constructor allows the user to pass in a size for the container you can make it any size but it will default to the value of 4.


The stack will automatically double its capacity when full, use your dynamic memory lab as an example where we resized an array. 
  The steps are
  1. use new to allocate a new array 2x the current size
  2. copy over the values with a for loop or memcpy
  3. delete the old array
  4. set your pointer to the new array 


you will not use cout or cin ANYWHERE in your stack class. 
any cout or cin operations should happen in the main test application
Log the start and end of all functions


make sure your menu main has all the options displayed when you run the examples
make sure your menu main has a try and catch block that catches and displays the exception thrown 

File: Stack.h 

// create your stack class , it will be a template container
// you will need a constructor it will allow the user to pass in the size/capacity of the container as the only parameter
// have this default to the value of 4

// a public function that returns true or false if the container is empty

// a public function that returns true or false if the container is full

// a public function that returns the capacity of the stack

// a public function that returns the size of the stack

// a public function that allows a value to be added or  "pushed" into the stack, returns
// true 
// if the container is full it calls resize then adds the value

// a public function that will remove or "popped' a value from the stack
// true or false if pop operation was successful

// a public function that returns a reference to the top value on the stack
// throws a descriptive message if stack is empty

// a private function that will double the capacity of the container

You will complete main1.cpp do not make your stack of type int or string or fraction , use ELEMTYPE when you prompt the user to enter a value to insert or search or delete do not use datatype int, string or fraction, use ELEMTYPE the make file provided will attempt to create 3 version of you main , one for the 3 datatypes test your work fully, I will when I grade.