Question: TemplatedSortedList-main.cpp #include #include #include #include // for exit() using std::string; using std::cin; using std::cout; using std::cerr; using std::endl; using std::getline; using std::ifstream; #include TemplatedSortedList.h bool

TemplatedSortedList-main.cpp

#include

#include

#include  #include  // for exit() using std::string; using std::cin; using std::cout; using std::cerr; using std::endl; using std::getline; using std::ifstream; #include "TemplatedSortedList.h" bool DEBUG = false; // toggles extra printing const string DEFAULT_INPUT_FILENAME = "project5-testA.tab"; // Action characters in the input file const char ADMIT = 'A'; const char DISCHARGE = 'D'; const char VISIT = 'V'; const char FIND = 'F'; // Process the patient records in inputFilename void processPatients( string inputFilename ); int main( /*int argc, char* argv[] */){ // If just a return (' ') is entered, then use DEFAULT_INPUT_FILENAME. // Otherwise, read in the input filename from STDIN. string inputFilename; cout << "Please enter the input filename (or simply press return to use " << DEFAULT_INPUT_FILENAME << ") "; getline( cin, inputFilename); if( inputFilename == ""){ inputFilename = DEFAULT_INPUT_FILENAME; } // process transactions in the file processPatients( inputFilename ); return 0; } void processPatients( string inputFilename ){ TemplatedSortedList patientList; // list to store patients // open file ifstream fileStream; fileStream.open( inputFilename.c_str() ); // verify the file is opened correctly if( ! fileStream ){ cerr << "ERROR: Can not open input file " << inputFilename << "!" << endl; exit(1); } cout << "Importing patients from " << inputFilename << " ..." << endl; char action = '\0'; // while there's more patients to process // read in the action and make sure that we're not at the end of the file while( fileStream >> action ){ if( DEBUG ){ cout << "action: " << action << endl; } string name; switch( action ){ case ADMIT: // get the patient's name from the file fileStream >> name; // add them to the list patientList += name; if( DEBUG ){ cout << patientList; } break; case DISCHARGE: // get the patient's name from the file fileStream >> name; // remove them from the list patientList -= name; if( DEBUG ){ cout << patientList; } break; case FIND: // get the patient's name from the file fileStream >> name; // look for this patient in the list patientList.print( name ); break; case VISIT: // display all patients in the list cout << patientList; break; default: cerr << "ERROR: Unknown action " << action << "!" << endl; exit(1); } } // close the file fileStream.close(); } 

The driver code processes the following commands: A (admits patient NAME) D (discharges patient NAME if NAME is in the list, silently continues otherwise) F (prints patient NAME if found in the list) V (visits all patients and displays their names in list order)

Task (TO DO)

Write a sorted list class

Write a templated class

Overload different operators

TemplatedSortedList (deep) copy constructor (even if you're using an STL object) 

Write a TemplatedSortedList class (in TemplatedSortedList.h) that implements a sorted list (linked- or array-based). Additionally, you get to template the classand provide overloaded operators such that the driver code compiles and produces correct output.

Input FILE

V F Sophia D Sophia A Sophia V F Sophia D Sophia V F Sophia D Sophia A Jackson A Emma A Aiden A Olivia A Lucas V D Jackson D Emma D Aiden D Olivia D Lucas V 

Output

Please enter the input filename (or simply press return to use project5-testA.tab) Importing patients from project5-testA.tab ... There are no entries in the list to display Sophia is not found in the list Displaying the single entry in the list: Sophia Sophia is in the list There are no entries in the list to display Sophia is not found in the list Displaying all 5 entries in the list: Aiden Emma Jackson Lucas Olivia There are no entries in the list to display 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!