C language
1 1 Objectives Gain hands on experience with programming C. Practice the following: Dynamic memory allocation, handle file IO, loops, setup and use of data structures, and function decomposition. Submission details You must submit (using the submit command on latcs5): An electronic copy of the code (There is NO hardcopy to be handed-in) See the end of this document for more details Please Note: While you are free to develop the code for this assignment on any operating system, your solution (C code) must compile and run on the latcs5 system using the cc compiler. Code that does not run on the latcs5 system will receive zero marks for implementation. Delays caused by computer downtime cannot be accepted as a valid reason for late submission without penalty. Students must plan their work to allow for both scheduled and unscheduled downtime. 2 2 Programming Task Implement a menu driven library catalogue system that allows users to perform various catalogue maintenance tasks. You are only allowed to use the C programming language. You are not allowed to use C++. Please do not use global variables. Up to 50% of marks will be lost for assignments that use global variables. Please do functional decomposition. Up to 50% of marks will be lost for students who try to write the entire program in one main function or something similar. There should be at least 5 functions for the assignment. One function for each task 2 to 4. Two functions for task 5. More functions than 5 are highly recommended. The aim of this rule is to teach you how to pass pointer arguments into functions. The assignment has been broken up into 5 tasks. Task 1 [10 marks code correctness] The program should be menu driven. The user should be presented with the following menu: 1. Load catalogue from file 2. Save catalogue to file 3. Display catalogue 4. Find book from catalogue 5. Quit After selecting one of the above options the corresponding task should be performed. After completing the selected task, the...