Question
#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
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
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
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