In: Computer Science
urgent!!! code in c++
- cannot use vector
- please use inheritance
-please identify the .h and .cpp files and add tester program and screenshot of output!
-please complete all parts I will upvote thank you!!!
Define the following classes to manage the booking of patients in a medical clinic.
a) Define a class Date that has the following integer data
members: month, day and year.
b) Define a class AppointmentTime that has the following data
members: day (string), hour (int) and minute (int).
c) Define a class Patient with the following data members:
The name of the patient as a standard library string.
The date of birth of the patient (from part a).
Medical insurance number of the patient as a standard library string.
Name of the doctor for the appointment.
Day and time of the appointment (from part b).
A patient may have a single doctor’s appointment each week.
The name of the doctor as a standard library string.
The date of birth of the doctor (from part a).
A two-dimensional string pointer array of 12-by-5 that shows the appointments of that doctor. The appointment durations are 30 mins and they always begin on the hour or half hour. Doctors see patients Monday to Friday during 9.00-12.00 and 14.00-17.00. This array is initialized to empty strings to indicate that at the beginning all the appointments are available. When an appointment is given a pointer to the medical insurance of the patient is stored at that location.
A Patient object from part (b).
Doctor’s name.
The day that appointment is requested as a standard library string (Monday to Friday).
f) Define a class ClinicManager with the following data members:
An array of pointers to the Patient objects of size 200.
An array of pointers to the Doctor objects of size 20.
An integer variable that counts total number of patient
appointments given by the clinic in a week.
At least the following member functions should be provided,
A member function that receives a patient object and inserts it
to the Patient pointer array. It will check if the patient is
already in the array to prevent multiple copies of the patient
object in the array.
A member function that receives a doctor object and inserts to the
Doctor pointer array.
A member function that processes appointment requests. The function
will receive an AppointmentRequest object, then will check the
requested doctor’s schedule to determine if the appointment can be
made. If the appointment can be scheduled it will store the medical
insurance of the patient in the appointment array of that doctor.
It will create an AppointmentTime object from part b). Then, it
will find the patient in the Patient pointer array and store the
doctor’s name and AppointmentTime object in the patient object in
the Patient pointer array. Finally, the member function will return
the AppointmentTime object. If the doctor is already fully booked
on that day this object should should return zeros for the
appointment time.
A member function that cancels an appointment, receives doctor’s
name and medical insurance of the patient. Then it removes the
appointment both from the doctor’s schedule and from the
patient.
A member function that receives a doctor’s name as a parameter and
prints name and medical insurance number of all the patients that
have booked an appointment with that doctor.
g) Write a driver program that demonstrate the functionality of your program including:
- Creates a ClinicManager object
- Creates doctor objects and calls to the doctor insert member function.
- Creates Patient and AppointmentRequest objects and calls to the member functions that
processes the appointments, then outputs the time of the appointment.
§ You must enforce encapsulation by keeping all data members private.
§ You need to make sure that your classes are well defined using the various concepts
seen in the class.
§ Provide needed set/get functions for the data members.
§ Objects should be created dynamically and must be deleted when no longer needed. There should be an output statement confirming the deletion of an object from the destructor function.
#include<iostream>
#include<string>
using namespace std;
class Date{
public:
int month, day, year;
};
class AppointmentTime{
public:
string day;
int hour;
int minute;
};
class Patient{
public:
string name;
string insuranceNo;
string nameOfDoctor;
Date dob;
AppointmentTime
appointmentTime;
};
class Doctor{
public:
string nameOfDoctor;
Date dobOfDoctor;
string *app[12][5];
};
class AppointmentRequest{
public:
Patient patient;
string doctorName;
string day;
};
class ClinicManager{
public:
int *patient[200];
int *doctor[20];
int
appointmentsgivenbyclinic;
bool addPatient();
};