Question: File Name Description List.h HashTable.h Templated List class Templated List class Patients.cpp Application program using one set of the above classes Patients.csv Data file of

File Name

Description

List.h

HashTable.h

Templated List class

Templated List class

Patients.cpp

Application program using one set of the above classes

Patients.csv File Name Description List.h HashTable.h Templated List class Templated List classPatients.cpp Application program using one set of the above classes Patients.csv Data

Data file of patients for the assignment

Purpose

This assignment requires that you to develop a program using the classes listed above. Specifically you will build a hash table containing patient data. The collision strategy will be to build linked lists as the array elements.

Program Specifications

Follow all style requirements from the Webster University Programming Guidelines. A copy of the guidelines can be found on the Connections Portal in the StudentFiles1.zip file. Your program will read the data from the file named Patients.csv attached here. Each record contains 5 fields separated by a comma. They are:

Fields

Data Type

ID

Integer

Name

String

Diagnosis

String

Insurance Company

String

Current Balance

Double

Your application program will read each record, create a Patient structure instance and place that structure instance into the hash table.

You will need to modify the appropriate code to provide for an audit trail of the hash table construction. To accomplish this, you will use cout statements in the above class member functions. You will need to modify them to include couts, but the modifications will be relatively small. If not, you are doing it wrong. The hashing algorithm to use is:

Index = int ( 0.618033 * ID) % size

Make the array size a named constant and set it to 6.

Include a counter for the number of collisions that occurred in building the hash table. Including a static variable in the LinkedList or List class is the best method for doing that.

See the sample audit trail below for the first 5 records on Patients.csv file and the size of the hash table set to 3. This is shown for illustration only. The full file will have different locations calculated.

1122-John Smith Appendicitis Blue Cross 1200.15 is being added

The location is 3

There was no collision loading 1122-John Smith Appendicitis Blue Cross 1200.15

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

2240-Mary Jones Diabetes Blue Cross 300.25 is being added

The location is 4

There was no collision loading 2240-Mary Jones Diabetes Blue Cross 300.25

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

2342-Sam Walls Flu Aetna 150.23 is being added

The location is 1

There was no collision loading 2342-Sam Walls Flu Aetna 150.23

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

3111-Alex Ford Concussion Essence 430.23 is being added

The location is 2

There was no collision loading 3111-Alex Ford Concussion Essence 430.23

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

3420-June Johnson Breast Cancer Cigna 754.36 is being added

The location is 1

There was a collision loading 3420-June Johnson Breast Cancer Cigna 754.36

It collided with 2342-Sam Walls Flu Aetna 150.23

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

The number of collisions is 1

After the above is displayed, prompt the user to enter the ID of a patient to locate. Produce an audit trail when locating the requested patient as shown below: Make sure you list all patients that have collided at the hashed location even if the patient is not actually found. That may also cause you to modify one of the existing ADTs a little.

Enter a patient ID to locate (0 to end): 3420

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

Will search for 3420

The location is 1

There was a collision here with 3420-June Johnson Breast Cancer Cigna 754.36

There was a collision here with 2342-Sam Walls Flu Aetna 150.23

retrieved from hash table: 3420-June Johnson Breast Cancer Cigna 754.36

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

Enter a patient ID to locate (0 to end): 1111

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

Will search for 1111

The location is 2

There was a collision here with 3111-Alex Ford Concussion Essence 430.23

Could not find 1111

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

Enter a patient ID to locate (0 to end): 0

The number of collisions is 1

Press any key to continue . . .

BELOW IS WHAT PATIENTS.CSV has!

file of patients for the assignment Purpose This assignment requires that you

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!