CSci 3102 Extension Winter 1994 Lab 5 Due: 14 March Write a program that will maintain a catalog of books for a small library. A book will be represented as a record with fields for author, title, year of publication, Dewey decimal system call number, and indication of who checked out and due date for up to three copies of the book. The catalog will be an array of these book records. The user (a librarian) will be able to add books to the catalog, delete books from the catalog, print the books in the catalog, and search for a particular book by call number, by author (list all books by the author), or by title. You won't need to implement book checking-out now. Since in a real catalog adding and deleting books are much less frequent than looking-up or checking-out a book, it makes sense to keep the catalog in sorted order by call number. Then searching by call number can be faster than it would be if the array were unordered. So the add operation will have to insert the new book into its correct position and the delete operation will need to cover up the hole left by the deleted book since we want the catalog to occupy the left portion of the array without any gaps.