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

I need help to write this C++ program. Description: This program is going to def

ID: 3676373 • Letter: I

Question

I need help to write this C++ program.

Description: This program is going to define a preparatory class that you will be using for linked list. You are going to write this class and use it so that you will be ready to use it for the linked list class. The class is going to be the Node class.

Node class data:

* Book title – must hold the title of a book including spaces.

* Author – must hold the author’s name including spaces

* Date read – must be able to contain numerical mo, day, year (4 digits)

* Pointer to class Node Node class member functions

* Default constructor

* Constructor that takes book title, author, and date

* Mutator function to set pointer

* Accessor function to return pointer

* Accessor function to return book title

* Accessor function to return author

* compare_data function that will compare a given book title against the one in the class

* process_data function that will print the data to the screen.

Explanation / Answer

Here first we will see how to create a class for linked list.

First we will use Private and Public Access Modifiers to define the class.

class LinkedList

{

private:

Node *_pHead;

Node *_pTail;

public:

LinkedList(void);

LinkedList(int val);

LinkedList(void);

}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Please find the below Linked list class of C++ for mentioned Node class data

#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

struct book

{

char booktitle [20], author [20], dateread [20];

int price;

book *next;

};

int sum=0;

void main()

{

clrscr();

book *head=NULL;

book *initial(void);

book *purchase(book *);

void search(book *);

int choice;

while(1)

{

cout<<"Choose your Choice ";

cout<<"1)    Initial Data Entry ";

cout<<"2)    Name of Book ";

cout<<"3)    Search of Book ";

cout<<"4)    Display Books ";

cout<<"7)    Exit ";

cout<<"Enter Your Choice:-";

cin>>choice;

    switch(choice)

   {

   case 1 : head=initial();

               getch();

               break;

   case 2 : head=purchase(head);

               getch();

               break;

// case 3 : head=sale(head);//             break;case 4 : stock(head);

               getch();

               break;

   case 4 : search(head);

               getch();

               break;

   case 5 : display(head);

               getch();

            break;

   case 6 : gotoout;

   default: cout<<" Invalid Choice TRY AGAIN ";

   }

clrscr();

}

out:

}

book *initial(void)

{

clrscr();

book *newl=NULL,*start=NULL,*end=newl;

char ch;

    while(1)

   {

   cout<<" Type y or Y for yes ";

   cout<<"Are you Interested in Entering Entry:-";

   cin>>ch;

   if(ch=='y' || ch=='Y')

   {

         newl=new book;

      cout<<" Enter Author of Book:-";

      cin>>newl->author;

      cout<<"Enter Title of Book:-";

      cin>>newl->booktitle;

      cout<<"Enter Publication of Book:-";

      cin>>newl->dateread;

      cout<<"Enter Price of Book:-";

      cin>>newl->price;

        sum=sum+newl->price;

      if(start==NULL)

          start=newl;

      else

          end->next=newl;

      end=newl;

      end->next=NULL;

   }

   elsebreak;

    }

return(start);

}

{

clrscr();

int pos,count=1,choice;

library *newl,*cnt=start,*head=start;

if(start==NULL)

    cout<<" LIST IS EMPTY ";

cout<<" Choose your Choice ";

cout<<"1)    Inserting At FIRST POSITION ";

cout<<"2)    Inserting In BETWEEN ";

cout<<"3)    Inserting At LAST POSITION ";

cout<<"4)    Exit ";

cout<<"Enter your choice:-";

cin>>choice;

if(choice >=1 && choice <=3)

{

    newl=new book;

   cout<<"Enter Author Name :-";

   cin>>newl->author;

   cout<<"Enter Book Title :-";

   cin>>newl->booktitle;

   cout<<"Enter Publication :-";

   cin>>newl->dateread;

   cout<<"Enter Price of Book:-";

   cin>>newl->price;

   sum=sum+newl->price;

}

switch(choice)

{

    case 1 :

                       newl->next=head;

                          head=newl;

                          break;

   case 2 :          //for Middle position

                       read:

                       cout<<" At which position you want to insert Record:-";

                        cin>>pos;

                        while(cnt!=NULL)

                        {

                        count++;                   //cnt for counting variable of type node

                        cnt=cnt->next;

                        }

                        if(pos<1 || pos>count+1)

                     {

                        cout<<" Entered position is Invalid TRY AGAIN ";

                        goto read;

                  }

                  {                    //Extra Braces are used as case bypasses intialization of a local variableint c=1;

                        while(c<pos-1)

                        {   c++;

                            start=start->next;

                        }

                  }

                        newl->next=start->next;

                        start->next=newl;

                       break;

   case 3 :        //for Last position while(start->next!=NULL)

                            start=start->next;

                       start->next=newl;

                       newl->next=NULL;

                  break;

   case 4 :         gotoout;

   default:       cout<<" Entered Choice is Invalid Try again ";

                       break;

}

out:

return(head);

}

void stock(book *start)

{

clrscr();

int count=0;

    while(start!=NULL)

   {

        count++;

      start=start->next;

   }

cout<<" Total Number of Books in Stock is "<<count<<endl;

}

void search(book *start)

{

clrscr();

char author[20],booktitle[20];

cout<<"Enter Book title and its Author name respectively to Search in stock ";

cin>>title>>author;

    while(start!=NULL)

   {

        if(title==start->title)

{

          if(author==start->author)

         {

             cout<<" Book is In Stock ";

            cout<<"It Cost Rs"<<start->price;

            return;

         }

      }

    }

cout<<" SEARCH IS NOT IN STOCK ";

}

void display(book *start)

{

clrscr();

cout<<setw(10)<<"Book Title"<<setw(25)<<"Author of

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

cout<<"=*";

cout<<endl;

while(start!=NULL)

{

cout<<setw(10)<<start->title<<setw(25)<<start->author<<setw(25)<<start->pub<<setw(20)<<start->price<<endl;

start=start->next;

}

}

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