Reference no: EM131278672
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
Describe the consequences of each policy
: Describe the consequences of each policy and evaluate the extent to which these proposed policies will achieve their intended objective.
|
Evaluate a health information system''s architecture
: Reinforce the need for data stewardship in HIE services. Identify the state, regional, and local activities in achieving benefits and overcoming challenges for HIE organizations. Describe the federal government's concept of a nationwide health inform..
|
What hackers could do to an entire country
: What was your reaction to the video and what hackers could do to an entire country? Using Google determine if there have been any similar DDOS attacks?
|
Has it increased or decreased over the past year
: Which country risk factors do Moody's and Standard & Poor's emphasize?- Has it increased or decreased over the past year? Which factors caused this change?
|
Implement a c program to collect cat information
: COMP 2401 - 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 populate..
|
What are the critical questions that you need to have answer
: What are the critical questions that you need to have answered? Provide at least five such questions. What kind of research you will do to answer these questions?
|
Business research for decision making
: Business Research for Decision Making- Please note you are not researching TV advertisement in general but specifically to the area of a chocolate candy store.
|
What risks confront dealers in the foreign exchange market
: What risks confront dealers in the foreign exchange market? How can they cope with those risks?- Suppose a currency increases in volatility. What is likely to happen to its bid-ask spread? Why?
|
Determine weight of a nozzle
: A vertical jet of water having a nozzle exit velocity of 15 ft/s with a diameter of 1 in. suspends a hollow hemisphere as indicated in Fig. P5.56. If the hemisphere is stationary at an elevation of 12 in., determine its weight.
|