1. Engineering
  2. Computer Science
  3. program description mary has found a collection of books bookstxt...

Question: program description mary has found a collection of books bookstxt...

Question details

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 user’s 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.

File Description:


  1. Book title
  2. Author name
  3. Year of publication in English language
  4. Language originally written in
  5. Genre


  1. Name
  2. Date of Birth
  3. 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 author’s 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.

Books.txt (text below)

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

Authors.txt (text below)

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
Solution by an expert tutor
Blurred Solution
This question has been solved
Subscribe to see this solution