Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- class Book
- {
- string title;
- string author;
- string availability;
- public:
- Book(){
- availability = "Available";
- }
- Book(string t, string a){
- title = t;
- author = a;
- availability = "Available";
- }
- ~Book(){}
- void setTitle(string t){
- title = t;
- }
- void setAuthor(string a){
- author = a;
- }
- void setAvailability(string a){
- availability = a;
- }
- string getTitle(){
- return title;
- }
- string getAuthor(){
- return author;
- }
- string getAvaibality(){
- return availability;
- }
- void display(){
- cout << "\tTitle: " << title << '\n';
- cout << "\tAuthor: " << author << '\n';
- cout << "\tAvailability: " << availability << '\n';
- }
- };
- class LibraryMember
- {
- string name;
- int libraryCardNumber;
- public:
- LibraryMember(){}
- LibraryMember(string s, int n){
- name = s;
- libraryCardNumber = n;
- }
- ~LibraryMember(){}
- void setName(string s){
- name = s;
- }
- void setNumber(int n){
- libraryCardNumber = n;
- }
- string getName(){
- return name;
- }
- int getNumber(){
- return libraryCardNumber;
- }
- void display(){
- cout << "\tName: " << name << '\n';
- cout << "\tLibrary Card Number: " << libraryCardNumber << '\n';
- }
- };
- class Library
- {
- Book books[100];
- LibraryMember members[100];
- int bookCount;
- int memberCount;
- public:
- Library(){
- bookCount = 0;
- memberCount = 0;
- }
- void addBook(string t, string s){
- books[bookCount].setTitle(t);
- books[bookCount].setAuthor(s);
- bookCount++;
- }
- void displayAllBooks(){
- cout << "Books in the library:\n";
- for(int i = 0; i < bookCount; i++){
- books[i].display();
- cout << '\n';
- }
- }
- void registerMember(string s, int n){
- members[memberCount].setName(s);
- members[memberCount].setNumber(n);
- memberCount++;
- }
- void displayAllMembers(){
- cout << "Members in the library:\n";
- for(int i = 0; i < memberCount; i++){
- members[i].display();
- cout << '\n';
- }
- }
- void borrowBook(string t, int id){
- bool bookFound = false;
- for(int i = 0; i < bookCount; i++){
- if(books[i].getTitle() == t){
- bookFound = true;
- int j;
- bool memberFound = false;
- for(j = 0; j < memberCount; j++){
- if(members[j].getNumber() == id){
- memberFound = true;
- break;
- }
- }
- if(!memberFound){
- cout << "Member not found\n\n";
- break;
- }
- books[i].setAvailability("Not Available");
- cout << "Book '" << books[i].getTitle() << "' has been borrowed by\n";
- members[j].display();
- cout << '\n';
- }
- }
- if(!bookFound)
- cout << "Book not found\n";
- }
- void returnBook(string t, int id){
- bool bookFound = false;
- for(int i = 0; i < bookCount; i++){
- if(books[i].getTitle() == t){
- bookFound = true;
- int j;
- bool memberFound = false;
- for(j = 0; j < memberCount; j++){
- if(members[j].getNumber() == id){
- memberFound = true;
- break;
- }
- }
- if(!memberFound){
- cout << "Member not found\n\n";
- break;
- }
- books[i].setAvailability("Available");
- cout << "Book '" << books[i].getTitle() << "' has been returned by\n";
- members[j].display();
- cout << '\n';
- }
- }
- if(!bookFound)
- cout << "Book not found\n";
- }
- void removeBook(string t){
- bool found = false;
- string name = t;
- for(int i = 0; i < bookCount; i++){
- if(books[i].getTitle() == t) found = true;
- if(found && i + 1 < bookCount){
- books[i] = books[i+1];
- }
- }
- if(!found) cout << "Book not found\n";
- else{
- cout << "Book '" << name << "' has been removed from the library.\n\n";
- bookCount--;
- }
- }
- void removeMember(int t){
- bool found = false;
- string name;
- for(int i = 0; i < memberCount; i++){
- if(members[i].getNumber() == t) found = true, name = members[i].getName();
- if(found && i + 1 < memberCount){
- members[i] = members[i+1];
- }
- }
- if(!found) cout << "Member not found\n";
- else{
- cout << "Member '" << name << "' has been removed from the library.\n\n";
- memberCount--;
- }
- }
- };
- int main()
- {
- Library library;
- // Adding books
- library.addBook("The Great Gatsby", "F. Scott Fitzgerald");
- library.addBook("To Kill a Mockingbird", "Harper Lee");
- library.addBook("Pride and Prejudice", "Jane Austen");
- // Displaying all books
- library.displayAllBooks();
- // Registering members
- library.registerMember("John Doe", 1234);
- library.registerMember("Jane Smith", 5678);
- // Displaying all members
- library.displayAllMembers();
- // Borrowing books
- library.borrowBook("The Great Gatsby", 1234);
- library.borrowBook("To Kill a Mockingbird", 5678);
- // Displaying all books (after borrowing)
- library.displayAllBooks();
- // Returning a book
- library.returnBook("The Great Gatsby", 1234);
- // Displaying all books (after returning)
- library.displayAllBooks();
- // Removing a book
- library.removeBook("Pride and Prejudice");
- // Displaying all books (after removal)
- library.displayAllBooks();
- // Removing a member
- library.removeMember(5678);
- // Displaying all members (after removal)
- library.displayAllMembers();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement