Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Hello I need help with these questions. I am still a beginner with the c++ langu

ID: 3751668 • Letter: H

Question

Hello I need help with these questions. I am still a beginner with the c++ language and im having problems trying to understand what to do here. IF you can include comments for what you did and how that would be appreciated! Will upvote thank you.

Book.h

#ifndef BOOK_H
#define BOOK_H

#include <string>
using namespace std;

class Book
{
public:
Book(int=0, string="Unknown", string="Unknown", int=0);
void setBook(int, string, string, int);
void print();

private:
int id;
string title;
string author;
int year;
};

#endif

~  

Book.cc

#include <iostream>
#include <iomanip>
using namespace std;

#include "Book.h"

Book::Book(int i, string t, string a, int y)
{
id = i;
title = t;
author = a;
year = y;
}

void Book::setBook(int i, string t, string a, int y)
{
id = i;
title = t;
author = a;
year = y;
}

main.cc

#include <iostream>
using namespace std;
#include <string>

#include "Book.h"

#define MAX_ARR_SIZE 128

int mainMenu();
void printLibrary(Book arr[MAX_ARR_SIZE], int num);


int main()
{
Book library[MAX_ARR_SIZE];
int numBooks = 0;
string title, author;
int id, year;
int menuSelection;

while (1) {
menuSelection = mainMenu();

Makefile

OPT = -Wall
  
t01: main.o Book.o
g++ $(OPT) -o t01 main.o Book.o

main.o: main.cc Book.h
g++ $(OPT) -c main.cc

Book.o: Book.cc Book.h
g++ $(OPT) -c Book.cc

clean:
rm -f *.o t01

2. Create a new Library class. You will need both a header file and a source file for this class. The class will contain two data members: .an array of Book objects the current number of books in the array Since the book array is moving from the main.cc file, you will also move the constant array size definition (MAX ARR_ SIZE) into the Library header file 3. Write the following functions for the Library class: a constructor that initializes the data member(s) that require initialization; think about what these might be .an addBook (Book&) function that adds the given book parameter to the back of the book array o terminology: the back of a collection is its end:the front of a collection is its beginning a printfunction that prints out all the books in the array to the screen 4. Change the program so that the main) function: doesn't declare a book array anymore; instead, it will declare a Library object uses the Library object and its functions, instead of manipulating the book array directly creates temporary Book objects to be added to the library o the Book class's setBook() function should no longer be used and should be removed adds the new book to the library using functions implemented in step #3 5. Update the Makefile so that the new Library class gets compiled and linked into the executable, as we saw in the course material section on Makefiles. 6. Build and run the program. Check that the book information is correct when the library is printed out at the end of the program 7. Package together the tutorial code into a tar file. Start up a browser in the VM, log into culearn, and go to the tutorial page. Select the tutorial 2 submission link, and upload your new tar file. 8. Save your work to a permanent location, like a memory stick or your Z-drive

Explanation / Answer

Please give thumbs up, thanks

Book.h

#ifndef BOOK_H
#define BOOK_H

#include <string>
using namespace std;

class Book
{
public:
Book(int=0, string="Unknown", string="Unknown", int=0);
void setBook(int, string, string, int);
void print();
int getid();
string gettitle();
string getaythor();
int getyear();

private:
int id;
string title;
string author;
int year;
};

#endif

Book.cpp

#include <iostream>

#include <iomanip>

using namespace std;

#include "Book.h"

Book::Book(int i, string t, string a, int y)

{

id = i;

title = t;

author = a;

year = y;

}

void Book::setBook(int i, string t, string a, int y)

{

id = i;

title = t;

author = a;

year = y;

}

int Book:: getid(){

return this->id;

}

string Book::gettitle()

{

return this->title;

}

string Book::getaythor()

{

return this->author;

}

int Book::getyear()

{

return this->year;

}

Library.h

#ifndef Library_h

#define Library_h

#include"Book.h"

#include<iostream>

#define MAX_ARR_SIZE 10

class Library

{

private:

Book B[MAX_ARR_SIZE];

int no_of_books;

public:

Library()

{

this->no_of_books=0;

}

void addBook(Book &B)

{

this->B[this->no_of_books]=B;

this->no_of_books++;

}

void print(){

for(int i=0; i<this->no_of_books; i++){

cout<<B[i].getid()<<" "<<B[i].gettitle()<<" "<<B[i].getaythor()<<" "<<B[i].getyear()<<endl;

}

}

};

#endif

Main.cpp

#include<iostream>

#include"Library.h"

using namespace std;

int main()

{

Library L=Library();

int n;

int id=1,year;

string title,author;

cout<<"How many books wants to add to Library : ";

cin>>n;

for(int i=0; i<n; i++)

{

cout<<"Enter Title : ";

cin>>title;

cout<<"Enter Author : ";

cin>>author;

cout<<"Enter year : ";

cin>>year;

Book B=Book(id++,title,author,year);

L.addBook(B);

}

L.print();

return 0;

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote