COSC220 Spring 2016 – Project # 2Due: 03/25/2016

PROJECT SPECIFICATIONS:

You will be developing a mini-database management system that can be used to store librarybook information. Your database management system should allow users toinsert, delete, modify and retrieve book records according to a given criteria. All the data in the database should be stored in an external file. When a user starts the database management program, the data in the file should be loaded into a linked list. When the user exits the program, the data in the linkedlist(with all the current updates) will be written into the external file again.

  1. Book information should include title, ISBN, author, publisher, published year, price, status, borrower, due date, fine if any.
  2. For INSERT operation, users need to provide all the information for a book. Bookinformation should be validated before they are entered into database. ISBNs should be exactly eight digits. Booktitles, author, and publisher and borrower must be string. Priceand fine must be a positive floating point number with two decimal points. Due dates must be of format mm/dd/yyyy. Status must be represented as “on loan”, “in library”. Please note that every book should have their unique ISBN. If a new book has the same ISBN as the existingbook, the new book information will not be entered into the database and a warning message should be given.A new book is added to the linked list so their ISBN numbers are in order.
  3. For MODIFY operation, users need to provide the ISBN first. Then the current information for book with thatISBNwill be retrieved and displayed.The users can modify the status and fine, borrower’s name and due date. New information entered must be validated before the book record is updated. Your program should prompt the users for confirmation for the final updated.
  4. For DELETE operation, users need to provide the ISBN. Before the book record is deleted, your program should prompt the users for confirmation.
  5. ForRETRIEVE operation, the database should allow users to retrieveinformation by the following criteria: 0) ISBN, 1) title,2) author, 3) publisher, 4) published year, 5) borrow, 6) due date7) status. The retrieved the result should be displayed in order according to the search criteria.

OTHER REQUIREMENTS

1.Make sure to start work on your project early and make steady progress.

2. Make sure to test your program thoroughly before you hand in your program.

3. Make sure that you will use class to keep information of a book and a linked list to keep all book information in the database.

4. Make sure to use functions to make your program more maintainable.

5. Make sure that you give proper names to your variables, program files.

6. Make sure that your program is nicely indented and has meaningful header and inline comments.

WHAT TO TURNIN

Email the instructor your source code, testing plan and all the output generated from your testing.