A library with a linked list

The problem

Build a program that keeps a library's books in a linked list, and lets you add, remove, borrow and return them.

Requirements

Technologies

Step by step

  1. Define the node struct, and write a function that creates a node.
  2. Write the list printing function.
  3. Write sorted insertion, handling the empty list and a new first node.
  4. Write the find function, and use it for borrowing and returning.
  5. Write removal, handling each position in the list.
  6. Write a function that frees the entire list.
  7. Test each operation on an empty list and on a one-book list.

Expected result

A working library program that correctly maintains a sorted linked list, with no leaks.

How it is evaluated

Ways to improve it