Question
Program Description: Mary has found a collection of books (Books.txt) and a list of her favorite authors (Authors.txt). Your goal is to write a program
Program Description: Mary has found a collection of books (Books.txt) and a list of her favorite authors (Authors.txt).
Your goal is to write a program for Mary, that allows her to browse both the book list and her favorite author list. The program should also display books written by her favorite authors in addition to their nationality which she does not know.
The main() function should only contain the Menu() function, which must display the available options. The program must only terminate upon the users command (you can include this as an option). The rest of the functionality should be invoked through functions from within Menu().
There are two .txt files. Each line in a file corresponds to an entry. You should store all information on arrays dedicated to each file.
Do NOT use global variables. If you do so there will be a deduction of 10 points from your total points.
File Description:
Books.txt
- Book title
- Author name
- Year of publication in English language
- Language originally written in
- Genre
Authors.txt
- Name
- Date of Birth
- Most Notable Book
Task 1:
Mary wants to be able to read the file. Create a Book struct that will retain all information that is present in the file. Create an array that will contain such information. From the first menu option, allow Mary to print the list. The underscores in the title and author name should be removed.
Task 2:
Similarly, Mary wants to print her favorite author List. Create an Author struct. Also, create a Date struct which will be an attribute of the Author struct, representing the date of birth. Finally, add a nationality attribute which will not be filled when reading the file. Just like in Task 1, create an authors array of type struct. From the second menu option, print the authors; the date of birth should exclude the day even though it is included in the file(whether the Date struct will contain a day attribute is up to you). The underscore in the authors name and most notable work should be removed.
Task 3:
Mary wants to find books by her favorite authors in the list. The third option in the menu, should print the author, his nationality (same as language book was originally written in), and the book title. There will only be one book matched for each author.
Hints:
When trying to remove the underscores, remember that a string is an array of characters, and that each character can be manipulated.
Use separate functions for print and for reading.
Books.txt
11 The_Name_of_the_Rose Umberto_Eco 1983 Italian Mystery Norwegian_Wood Haruki_Murakami 2000 Japanese Fiction The_Name_of_the_Wind Patrick_Rothfuss 2007 English Fantasy The_Girl_with_the_Dragon_Tattoo Stieg_Larsson 2005 Swedish Thriller The_Brothers_Karamazov Fyodor_Dostoevsky 1880 Russian Fiction Demonic_Males Richard_Wrangham 1997 English Non-Fiction War_and_Peace Leo_Tolstoy 1899 Russian Historical-Fiction Baudolino Umberto_Eco 2000 Italian Historical-Fiction The_Lies_of_Locke_Lamora Scott_Lynch 2006 English Fantasy The_Last_of_the_Wine Mary_Renault 1956 English Historical-Fiction Brave_New_World Aldous_Huxley 1932 English Science Fiction
Author.txt
7 Haruki_Murakami 01/12/1949 A_Wild_Sheep_Chase Leo_Tolstoy 09/09/1828 War_and_Peace Fyodor_Dostoevsky 11/11/1821 Crime_and_Punishment Nikos_Kazantzakis 02/18/1883 The_Last_Temptation Charles_Bukowski 08/16/1929 Post_Office George_Orwell 06/25/1903 1984 John_Milton 12/09/1608 Paradise_Lost
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started