-Do we really have to have a separate menu item for item 9?

No.

-When I try to read to end of file with feof(), I get segmentation faults. What's up?

Remember that when using feof(), it isn't true until *after* the last line is read. So put the fgets in two places: just before the while and at the end of the while body (the same way we did with getting user input when using a while loop with scanf).