Comp 2401 - your program will prompt the user for


Goal

Using the VM provided for the course, you will implement a C program to collect cat information from the user and print this information to the screen. You will practice problem solving and procedural design. You will write code that uses functions and dynamically allocated memory. You will also continue deepen your knowledge of collection structures by implementing a linked list. The data structures that you must use are contained in a file posted in cuLearn.

Instructions

1. Design your program

You will begin with the header file posted in cuLearn, under the link a7Defs.h

Your program must use the provided data structures and function prototypes, without making any changes to the existing prototypes and data structures in that file. You will, however, create your own source files that use that header file.

Your program will prompt the user for information to populate a cat collection. This collection structure contains a dynamically allocated doubly linked list of dynamically allocated cat structures. Once the cat linked list is populated, your program will then print out the content of the cat linked list, both forward and backward, and it will clean up the dynamically allocated memory.

The first step of this assignment is to break down your program into modular and reusable functions. You must examine the data structures provided, and determine which functions you need to implement. You are also required to divide your code into separate source files. Do not put all the code in the main function, and do not put it all in the same file!

2. Read data from the user

Your program must:
- declare a CatListType pointer as a local variable in main
- initialize the cat linked list by dynamically allocating the linked list structure and initializing its fields, using the
initAllCats function defined in the given header file
- prompt the user to enter data to populate the cat linked list; there can be any number of cats, with no maximum
- for each cat entered by the user:
o prompt the user to enter the cat data
o dynamically allocate an instance of a cat structure, using the initCat function defined in the given header file
o add the new cat to the cat linked list in alphabetical order by name; do not add to the end and then sort! you must add each cat in its correct place in the list
Notes:
- the cat linked list pointer must be declared as a local variable in main
- you must implement and call the initAllCats and the initCat functions as defined in the given header file; do
not change the prototypes!
- adding to the linked list must cover all cases, and it must correctly set all list pointers
- your program must perform all basic error checking
- all compound data types, including structures, must be passed by reference

3. Print data to the screen
Once the cat linked list has been populated with user-entered data, your program must print out the content of the linked list to the screen, first in the forward direction (first node to last) then in the backward direction (last node to first). You must use the linked list pointers for this. The information printed out must include all the fields of all structures.

4. Cleanup
When your program is done with the cat linked list, you must deallocate all the dynamically allocated memory.

Constraints
- you must use the given code, data structures and function prototypes exactly as stated
- do not use any global variables
- your program must be correctly designed and separated into functions
- your program must reuse functions everywhere possible
- your program must be thoroughly commented
- your program must perform all basic error checking
- do not leave any memory leaks!

Attachment:- a.zip

Solution Preview :

Prepared by a verified Expert
C/C++ Programming: Comp 2401 - your program will prompt the user for
Reference No:- TGS01681433

Now Priced at $30 (50% Discount)

Recommended (91%)

Rated (4.3/5)