Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

please solve this program in C++ and write all the comment for each steps. You are an avid reader and have decided that you would

please solve this program in C++ and write all the comment for each steps.

You are an avid reader and have decided that you would like to keep track of the books that you read. Since you are now a seasoned C++ programmer, you are going to write a C++ program to perform this function.

You will define a structure called book_list that will hold a number associated with each book (int), book title (string), author (string), a description of the book (string), a date when the book was read stored in 2 parts month (int) and year (int) and a rating of the book (int). The number will be generated by the program as each book is entered. The rating should be limited to a number between 1 and 10. It will be a scale the user can enter what they thought of the book.

Your program is to check to see if a file called reading_list.txt already exists and if it does, read it into an array of structures of type book_list.

The program will execute until the user selects 6 to exit the program. The program should have a menu that asks the user to 1) print books 2) enter a new book 3) modify a book 4) print how many books are in the list 5) print all of the books that have a certain rating 6) exit the program. If the user enters 1, all of the books will be printed to the screen including the book number. If the user enters 2, the program will ask the user for the title, author, description, date, and rating. If the user selects 3, the program should ask the user for the book number to be modified and all of the new information for that book. If the user selects 4, you are to print the total number of books in the database to the screen.

When the user enters 5, you are to ask for the rating and then print out only the books with that rating. When the user selects 6 to exit the program, you are to create a new file or overwrite the existing file and write each record to the text file reading_list.txt.

Structure member definitions:

Book number to be generated by the programmer for each new book that is entered

Book title This should be able to hold spaces

Author should be able to hold spaces

Description should be able to hold spaces

Date should be a month stored as 1 12 and year stored with all four digits, i.e. 2017. It should be printed as XX/XXXX i.e 9/2016 when printing it to the screen.

Rating should be a number between 1 and 10

Requirements:

Create an array of structures containing the structure members as defined above

The program needs to be able to handle data for up to 500 books.

Read the data from the file reading_list.txt and save each book record in a structure in your array when you start your program. (Only read once.)

Write to the file once when the user selects exit.

The title, author, and description should be able to contain spaces.

Book numbers must start with 1 and be generated by the program

You need to keep track of how many books there are.

You must use a switch statement for the menu selection.

DO NOT use break statements except in the switch statement.

Sample output if 1 selected

1 Les Miserables Victor Hugo About a released prisoner and his changed life 9/2016 10

2 Of Men and Angels Bodie Thoene About the Irish discontent

7/2015 8

Sample input if 2 selected

Enter title: Raising Boys

Enter author: James Dobson

Enter description: A book on raising boys

Enter month: 01

Enter year: 2017

Enter rating: 9

Sample input if 3 selected

Enter part to modify: 1

1 Les Miserables Victor Hugo About a released prisoner and his changed life 9/2016 10

Enter title: Les Miserables

Enter author: Victor Hugo

Enter description: About a changed life

Enter month: 12

Enter year: 2016

Enter rating: 10

Sample output if 4 selected

Total number of books: 3

Sample output if 5 selected

Enter rating: 10

1 Les Miserables Victor Hugo About a released prisoner and his changed life 9/2016 10

Hints:

The first item in the file should be the number of books. Writing this information out will make file processing much easier..

The easiest way to read and write the information for this assignment is to put each item on a new line.

Cin alone does not read in a line with spaces.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions