Hospital Management Project in C++
The following capabilities are required to build a hospital management project: These are as follows: hospitals' names, contact information, and lists of doctors and patients.
Activities Supported
- Hospital Data Print
- Patients' data to print
- Beds Price Sort
- Order By Available Beds
- Order By Name
- Rating and reviewing the order
- Print the Hospital for any city.
The program's primary features are:
- All hospital data will be printed using the PrintHospitalData() method.
- All hospital data will be printed using the PrintPatientData() method.
- SortHospitalByName(): List all hospitals in alphabetical order by name
- SortHospitalByRating(): Arrange hospitals by rating
- Sort hospitals by beds available using the SortByBedsAvailable() method.
- Hospitals can be sorted by bed price using the SortByBedsPrice() method.
Approach
- Create classes for the Patient dataset as well as the Hospital dataset.
- Set up the variables that store patient and Hospital data.
- Create objects for patient classes and hospitals with the patient and hospital data access.
- Employ two arrays to hold the patient data and the hospital dataset.
- Apply the provided functionality as indicated below.
The application of the strategy is shown below:
Example 1:
#include <bits/stdc++.h>
usingnamespace std;
class Hospital {
Public:
string H_name;
string location;
intavailable_beds;
float rating;
string contact;
string doctor_name;
int price;
};
classPatient:public Hospital {
public:
string P_name;
intP_id;
};
voidPrintHospitalData(
vector<Hospital>& hospitals)
{
cout<< "PRINT hospitals DATA:"
<<endl;
cout<< "HospitalName "
<< "Location."
<< "Beds_Available "
<< "Rating."
<< "Hospital_Contact "
<< "Doctor_Name "
<< "Price_Per_Bed \n";
for (inti = 0; i< 4; i++) {
cout<< hospitals[i].H_nam
<< " "
<< " "
<< hospitals[i].location
<< " "
<< hospitals[i].available_beds
<< " "
<< hospitals[i].rating
<< " "
<< hospitals[i].contact
<< " "
<< hospitals[i].doctor_name
<< " "
<< " "
<< hospitals[i].price
<< " "
<<endl;
}
cout<<endl
<<endl;
}
voidPrintPatientData(
vector<Patient>& patients,
vector<Hospital>& hospitals)
{
cout<< "PRINT patients DATA:"
<<endl;
cout<< "Patient_Name "
<< "Patient_Id "
<< "Patient_Contact "
<< "Alloted_Hospital "
<< "Patient_Expenditure \n";
for (inti = 0; i< 4; i++) {
cout<< patients[i].P_name
<< " "
<< " "
<< patients[i].P_id
<< " "
<< " "
<< patients[i].contact
<< " "
<< hospitals[i].H_name
<< " "
<< patients[i].price
<< " "
<<endl;
}
cout<<endl
<<endl;
}
boolname(Hospital& A, Hospital& B)
{
returnA.H_name>B.H_name;
}
voidSortHospitalByName(
vector<Hospital> hospitals)
{
sort(hospitals.begin(),
hospitals.end(),
name);
cout<< "SORT BY NAME:"
<<endl
<<endl;
PrintHospitalData(hospitals);
}
boolrating(Hospital& A, Hospital& B)
{
returnA.rating>B.rating;
}
voidSortHospitalByRating(vector<Hospital> hospitals)
{
sort(hospitals.begin(),
hospitals.end(),
rating);
cout<< "SORT BY Rating:"
<<endl
<<endl;
PrintHospitalData(hospitals);
}
boolbeds(Hospital& A, Hospital& B)
{
returnA.available_beds>B.available_beds;
}
voidSortByBedsAvailable(
vector<Hospital> hospitals)
{
sort(hospitals.begin(),
hospitals.end(),
beds);
cout<< "SORT BY Available Beds:"
<<endl
<<endl;
PrintHospitalData(hospitals);
}
boolbeds_price(Hospital& A, Hospital& B)
{
returnA.price<B.price;
}
voidSortByBedsPrice(
vector<Hospital> hospitals)
{
sort(hospitals.begin(),
hospitals.end(),
beds_price);
cout<< "SORT BY Available Beds Price:"
<<endl
<<endl;
PrintHospitalData(hospitals);
}
voidPrintHospitalBycity(
string city, vector<Hospital> hospitals)
{
cout<< "PRINT hospitals by Name:"
<< city <<endl;
cout<< "HospitalName "
<< "Location."
<< "Beds_Available "
<< "Rating."
<< "Hospital_Contact "
<< "Doctor_Name "
<< "Price_Per_Bed \n";
for (inti = 0; i< 4; i++) {
if (hospitals[i].location != city)
continue;
cout<< hospitals[i].H_name
<< " "
<< " "
<< hospitals[i].location
<< " "
<< hospitals[i].available_beds
<< " "
<< hospitals[i].rating
<< " "
<< hospitals[i].contact
<< " "
<< hospitals[i].doctor_name
<< " "
<< " "
<< hospitals[i].price
<< " "
<<endl;
}
cout<<endl
<<endl;
}
voidHospitalManagement(
string patient_Name[], intpatient_Id[],
string patient_Contact[], intbookingCost[],
string hospital_Name[], string locations[], int beds[],
floatratings[], string hospital_Contact[],
string doctor_Name[], int prices[])
{
vector<Hospital> hospitals;
Hospital h;
for (inti = 0; i< 4; i++) {
h.H_name = hospital_Name[i];
h.location = locations[i];
h.available_beds = beds[i];
h.rating = ratings[i];
h.contact = hospital_Contact[i];
h.doctor_name = doctor_Name[i];
h.price = prices[i];
hospitals.push_back(h);
}
vector<Patient> patients;
Patient p;
for (inti = 0; i< 4; i++) {
p.P_name = patient_Name[i];
p.P_id = patient_Id[i];
p.contact = patient_Contact[i];
p.price = bookingCost[i];
patients.push_back(p);
}
cout<<endl;
PrintHospitalData(hospitals);
PrintPatientData(patients, hospitals);
SortHospitalByName(hospitals);
SortHospitalByRating(hospitals);
PrintHospitalBycity("Bangalore", hospitals);
SortByBedsAvailable(hospitals);
SortByBedsPrice(hospitals);
}
intmain()
{
string patient_Name[] = { "P1", "P2", "P3", "P4" };
intpatient_Id[] = { 2, 3, 4, 1 };
string patient_Contact[]
= { "234534XXX7", "234576XXX2", "857465XXX9",
"567657XXX0" };
intbookingCost[] = { 1000, 1200, 1100, 600 }
string hospital_Name[] = { "H1", "H2", "H4", "H3" };
string locations[] = { "Bangalore", "Bangalore",
"Mumbai ", "Prayagraj" };
intbeds[] = { 4, 5, 6, 9 };
floatratings[] = { 5.2, 4.1, 3.4, 5.9 };
string hospital_Contact[]
= { "657534XXX7", "298766XXX2", "324565XXX9",
"343456XXX4" };
string doctor_Name[] = { "D1", "D4", "D3", "D2" };
intprices[] = { 100, 200, 100, 290 };
hospital management(
patient_Name, patient_Id, patient_Contact,
booking cost, hospital_Name, locations, beds,
ratings, hospital_Contact, doctor_Name, prices);
return 0;
}
Output:


