/* ============================================================================ Name : ArrayListOfDogs.c Author : Matt Boutell, David Mutchler and YOUR-NAME-HERE Description : A simple version of a resizable array of Dogs. ============================================================================ */ #include #include #include "ArrayListOfDogs.h" // Test function for ArrayListOfDogs functions. // It constructs an ArrayListOfDogs and adds random Dogs to the ArrayList, // printing relevant information as it does so. int main(void) { int k; ArrayListOfDogs* dogs; dogs = constructArrayListOfDogs(); // Students: Test with loops larger than 6 once you believe your code is OK. for (k = 0; k < 6; ++k) { add(dogs, constructRandomDog()); printf("The ArrayListOfDogs is stored at %o, with size %d and capacity %d\n", listStoredAt(dogs), listSize(dogs), listCapacity(dogs)); printf("Its current contents are:\n"); listPrintContents(dogs); } return EXIT_SUCCESS; } // Constructs an empty ArrayListOfDogs and returns a pointer to the allocated space. // The initial capacity of the ArrayListOfDogs is 5. ArrayListOfDogs* constructArrayListOfDogs() { // TODO: Replace this stub with correct code. return 0; } // Returns the address of the current internal array of Dogs. unsigned int listStoredAt(ArrayListOfDogs* dogs) { // TODO: Replace this stub with correct code. return 0; } // Returns the current size of the ArrayList. int listSize(ArrayListOfDogs* dogs) { // TODO: Replace this stub with correct code. return -1; } // Returns the current capacity of the ArrayList. int listCapacity(ArrayListOfDogs* dogs) { // TODO: Replace this stub with correct code. return -1; } // Adds the given Dog to the end of the given ArrayListOfDogs. // Doubles the ArrayListOfDogs's capacity if the ArrayListOfDogs has to grow. void add(ArrayListOfDogs* dogs, Dog* dogToAdd) { // TODO: Replace this stub with correct code. } // Prints the current contents of the ArrayList, // each element on a line by itself. void listPrintContents(ArrayListOfDogs* dogs) { // TODO: Replace this stub with correct code. }