Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I don't understand want exactly you need from me. Can you please elaborate? We have to submit templatedDLList.h, record.cpp and library.cpp. Record.cpp and Library.cpp are

I don't understand want exactly you need from me. Can you please elaborate?

We have to submit templatedDLList.h, record.cpp and library.cpp. Record.cpp and Library.cpp are empty. Please I need this asap. We are also provided with library-main.cpp and main.cpp if you need any of these please let me know.

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

image text in transcribedimage text in transcribedimage text in transcribed

Part 2.0 (20 points): Implementation of a class Record 1. Declare a class Record for keeping information about a book. Declare class members for a book: title, author's name, 13-digit ISBN, publishing year, and edition number.] Declare them (a) title (b) author (c) ISBN (d) year (e) edition 2. Outside the class define (a) input operator>> to enter the record from the input file Book.txt. (b) output operator #include class Library { public: // Searches for a title in the database and returns vector of matching records std::vector search(std::string title); //Imports records from a file. Does not im duplicates. // Return the number of records added to the database int import_database (std::string filename); // Exports the current database to a file //Return the number of records exported int export_database (std::string filename); void print_database(); //add record to database, avoid complete duplicates bool add_record (Record book) ; //Deletes a record from the database void remove_record (Record book); // Prompts user for yes or no and returns choice Y or N char prompt_yes_no(); //Given a vector of menu options returns index of choice int prompt_menu (std::vector<:string>); // Prompts user for a new record Record prompt_record(); //Prompt for a valid title std::string prompt_title(); // Prompt for a valid string std::string prompt_string(std::string prompt); private: std::vector> book_db = vector #include Eclass Record { private: //member variables public: //accessor/mutator functions }; // Stream operators std::istream& operator>>(std::istream& is, Record& rec); std::ostream& operator #include using namespace std; template class DLList; // class declaration // doubly linked list node template Estruct DLListNode { T obj; DLListNode *prev, *next; // constructor DLListNode (Te = T(), DLListNode *p = nullptr, DLListNode *n = nullptr); }; // doubly linked list class template class DLList { private: DLListNode header, trailer; public: DLList();// default constructor DLList (const DLList& dll); // copy constructor DLList (DLList&& dll); // move constructor // doubly linked list class template class DLList { private: DLListNode header, trailer; public: DLList();// default constructor DLList (const DLList& dll); // copy constructor DLList (DLList&& dll); // move constructor ~DLList(); // destructor DLList& operator= (const DLList& dll); // copy assignment operator DLList& operator=(DLList&& dll); // move assignment operator // return the pointer to the first node DLListNode *first_node () const { return header.next; } // return the pointer to the trailer const DLListNode *after_last_node() const { return &trailer; } // return if the list is empty bool is_empty() const { return header.next &trailer; } T first() const; // return the first object T last() const; // return the last object void insert_first (T obj); // insert to the first node T remove_first(); // remove the first node void insert_last (T obj); // insert to the last node T remove_last(); // remove the last node void insert_after (DLListNode &p, T obj); void insert before (DLListNode &p, T obj); T remove_after (DLListNode &p); T remove before (DLListNode &p); == }; // output operator template ostream& operator& dll); #endif // This is TDLList-main.cpp file // test of the DLList class #include #include #include "TemplatedDLList.h"|| using namespace std; int main() { // Construct a linked list with header & trailer cout dll; cout dl12 (dll); cout dll3; dll3 dll; cout *curr = dll.first_node(); while (curr->obj != 50) { curr = curr->next; } DLListNode int>& ref *curr; // Insert before cout 50; --i) { dll.insert_after (ref, i); } cout 50; --i) { dll.insert_after (ref, i); } cout origbll; for (int i=10; i movedll (move (origDll)); dll2 = move (origDll); return 0; } Part 2.0 (20 points): Implementation of a class Record 1. Declare a class Record for keeping information about a book. Declare class members for a book: title, author's name, 13-digit ISBN, publishing year, and edition number.] Declare them (a) title (b) author (c) ISBN (d) year (e) edition 2. Outside the class define (a) input operator>> to enter the record from the input file Book.txt. (b) output operator #include class Library { public: // Searches for a title in the database and returns vector of matching records std::vector search(std::string title); //Imports records from a file. Does not im duplicates. // Return the number of records added to the database int import_database (std::string filename); // Exports the current database to a file //Return the number of records exported int export_database (std::string filename); void print_database(); //add record to database, avoid complete duplicates bool add_record (Record book) ; //Deletes a record from the database void remove_record (Record book); // Prompts user for yes or no and returns choice Y or N char prompt_yes_no(); //Given a vector of menu options returns index of choice int prompt_menu (std::vector<:string>); // Prompts user for a new record Record prompt_record(); //Prompt for a valid title std::string prompt_title(); // Prompt for a valid string std::string prompt_string(std::string prompt); private: std::vector> book_db = vector #include Eclass Record { private: //member variables public: //accessor/mutator functions }; // Stream operators std::istream& operator>>(std::istream& is, Record& rec); std::ostream& operator #include using namespace std; template class DLList; // class declaration // doubly linked list node template Estruct DLListNode { T obj; DLListNode *prev, *next; // constructor DLListNode (Te = T(), DLListNode *p = nullptr, DLListNode *n = nullptr); }; // doubly linked list class template class DLList { private: DLListNode header, trailer; public: DLList();// default constructor DLList (const DLList& dll); // copy constructor DLList (DLList&& dll); // move constructor // doubly linked list class template class DLList { private: DLListNode header, trailer; public: DLList();// default constructor DLList (const DLList& dll); // copy constructor DLList (DLList&& dll); // move constructor ~DLList(); // destructor DLList& operator= (const DLList& dll); // copy assignment operator DLList& operator=(DLList&& dll); // move assignment operator // return the pointer to the first node DLListNode *first_node () const { return header.next; } // return the pointer to the trailer const DLListNode *after_last_node() const { return &trailer; } // return if the list is empty bool is_empty() const { return header.next &trailer; } T first() const; // return the first object T last() const; // return the last object void insert_first (T obj); // insert to the first node T remove_first(); // remove the first node void insert_last (T obj); // insert to the last node T remove_last(); // remove the last node void insert_after (DLListNode &p, T obj); void insert before (DLListNode &p, T obj); T remove_after (DLListNode &p); T remove before (DLListNode &p); == }; // output operator template ostream& operator& dll); #endif // This is TDLList-main.cpp file // test of the DLList class #include #include #include "TemplatedDLList.h"|| using namespace std; int main() { // Construct a linked list with header & trailer cout dll; cout dl12 (dll); cout dll3; dll3 dll; cout *curr = dll.first_node(); while (curr->obj != 50) { curr = curr->next; } DLListNode int>& ref *curr; // Insert before cout 50; --i) { dll.insert_after (ref, i); } cout 50; --i) { dll.insert_after (ref, i); } cout origbll; for (int i=10; i movedll (move (origDll)); dll2 = move (origDll); return 0; }

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: Jeff Hoffer, Ramesh Venkataraman, Heikki Topi

12th edition

133544613, 978-0133544619

More Books

Students also viewed these Databases questions