Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

#include #include #include #include class Book { private: std::string title; std::string author; int id; bool isAvailable; public: Book(std::string t, std::string a, int i) : title(t),

#include #include #include #include

class Book { private: std::string title; std::string author; int id; bool isAvailable;

public: Book(std::string t, std::string a, int i) : title(t), author(a), id(i), isAvailable(true) {}

void borrowBook() { if(isAvailable) { isAvailable = false; } else { std::cout << "Book already borrowed." << std::endl; } }

void returnBook() { isAvailable = true; }

void displayInfo() { std::cout << "Book: " << title << ", Author: " << author << ", ID: " << id << ", Available: " << (isAvailable ? "Yes" : "No") << std::endl; } };

class Library { private: std::vector books;

public: void addBook(Book book) { books.push_back(book); }

void displayAllBooks() { for(int i = 0; i < books.size(); i++) { books[i].displayInfo(); } }

Book* findBookById(int id) { for(int i = 0; i < books.size(); i++) { if(books[i].getId() == id) { return &books[i]; } } return NULL; } };

void saveLibraryData(Library &lib) { std::ofstream file("library.txt"); lib.displayAllBooks(); file.close(); }

int main() { Library myLibrary;

Book book1("1984", "George Orwell", 101); Book book2("To Kill a Mockingbird", "Harper Lee", 102); Book book3("The Great Gatsby", "F. Scott Fitzgerald", 103);

myLibrary.addBook(book1); myLibrary.addBook(book2); myLibrary.addBook(book3);

myLibrary.displayAllBooks();

Book* book = myLibrary.findBookById(102); if(book != NULL) { book->borrowBook(); }

myLibrary.displayAllBooks();

saveLibraryData(myLibrary);

return 0; } This program aims to represent a simple library management system but contains several intentional errors, bad practices, and areas for improvement. It's a great exercise to review this code, identify the errors, and think about how you would correct them.

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

Recommended Textbook for

Modern Database Management

Authors: Jeffrey A. Hoffer Fred R. McFadden

9th Edition

B01JXPZ7AK, 9780805360479

More Books

Students also viewed these Databases questions

Question

Let h = fg. Show that h (x) = f (g(x))(g (x))2 + f (g(x))g (x).

Answered: 1 week ago