Project Description

You are to implement a program scheduling a doctor's daily schedule.

The list of requirements and constraints for the system are as follows:

  • The system will be used by a doctor to manage multiple appointments in one workday.
  • The name of each patient is unique and can be used to locate the information on a specific patient or time slot.
  • The doctor has a maximum of eight appointments in a day, each an hour long, with the workday starting at 8:00 until 15:00.
  • User can print all patient information.
  • User can print all appointment information.
  • The user can add an appointment by indicating the time slot, and the patient. This action fails if the selected time slot is already filled or the patient does not exist.
  • The user can remove an appointment by indicating the time slot that should be freed. It should fail when the time slot is not occupied.

Code organization

main.cpp

The main entry point of the executable. Set up the app class and run it. Provided file, do not modify!

Patient Class

The class to handle information related to one patient.

Appointment Class

The class to manage appoints. It keeps a list of patients, and a list of time slots. It handles appointment related operations.

Development Diary

For this project, you must complete the following tasks in the order that they are described:

  • List out a set of steps that you will take to implement your solution to the problem. Each step refers to an increment of the program that you will be creating. It is recommended to complete the implementation of a single logical unit (a class, a method, a module/file, etc.) per step.
  • Keep track of your work as you implement the program, log the tasks you completed, and issues encountered along the way. For example - Friday 02/26: completed class X, encountered some issues
  • Once you have finished implementing your solution, reflect on the process that you followed. For example, did you have to deviate from your plan? What challenges have your encountered and how you solved it.
  • Your responses to these tasks should be submitted as a text or word document called diary.txt/diary.docx.
  • Be concise but informative. Use bullet points rather than paragraphs.

starting code

Description: Code provided: C++

/// Appointments
/// include "appointments.hpp"
using namespace std;

// Do not modify
// constructor to initialize the patient list from data.hpp
Appointments::Appointments(Patient *patients, int patientCount)
: patients(patients), patientCount(patientCount)
{
}

// implement methods here --------------------------------------------------------

///////// MAIN ////////////
#include "appointments.hpp"
#include "text-menu-app.hpp"
#include "data.hpp"
#include

int main() {
Appointments patientManager{initPatients, initPatientCount};
TextMenuApp menu(patientManager);
menu.run(); return EXIT_SUCCESS;
}
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.