Comp 2401 - implement a c program to collect cat


Assignment

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, nested structures, double pointers, and dynamically allocated memory.

You will also continue working with the concept of a collection structure which is used to store a collection of data. 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 a6Defs.h

Your program must use the provided data structures and function prototype, without making any changes to the existing prototype and data structures in that file. You will, however, create your own source file that uses this header file. To use the given header file, you must save that file in the same directory as your source file, and include the line:

#include "a6Defs.h"

at the top of your source file. That will copy the header file information into your source file.

Your program will prompt the user for information to populate a cat collection. This collection structure contains a statically allocated array of dynamically allocated cat structures, represented as an array of cat structure pointers. Once the cat collection is populated, your program will then print out the content of the cat collection and 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. Do not put all the code in the main function!

2. Read data from the user
Your program must:
- declare an instance of a CatArrType structure
- prompt the user to enter data to populate the cat collection; there can be any number of cats, up to a 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 collection

Notes:
- the cat collection must be declared as a local variable in main
- do not prompt the user for the number of cats to be entered; you must accept input until the user enters a sentinel value determined by you
- your program must perform all basic error checking
- you must implement and call the initCat function as defined in the given header file; do not change the prototype!
- all compound data types, including structures, must be passed by reference

3. Print data to the screen
Once the cat collection has been populated with user-entered data, your program must print out the content of the collection to the screen. The information printed out must include all the fields of all structures.

4. Cleanup
When your program is done with the cat collection, 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:- a6Defs.rar

Solution Preview :

Prepared by a verified Expert
C/C++ Programming: Comp 2401 - implement a c program to collect cat
Reference No:- TGS01674017

Now Priced at $30 (50% Discount)

Recommended (95%)

Rated (4.7/5)