Write a simple menu-driven transaction system

Assignment Help C/C++ Programming
Reference no: EM13908871

You are to write a simple menu-driven transaction system for a hospital patient record-keeping application. A hospital has a number of types of patients, such as outpatients, emergency room, and inpatients. Each patient may be either male or female.

Clearly, there are common data for all patients, such as name social security number, insurance name and number, and age. Outpatients have appointment times, while inpatients have room numbers. Female patients and male patients also have some different medical data.

You are to build an inheritance hierarchy of patients such that the base class is a generic patient. The base class should have four derived classes, Male, Female, Outpatient, and Inpatient. At the next level you will have four multiply-derived classes, i.e. MaleIn, FemaleIn, MaleOut, FemaleOut. Be sure to consider when the derivation should utilize a virtual base class so that class members are not needlessly duplicated in lower-level derivations.

To implement polymorphism, you will use the virtual class member functions to enable invoking the appropriate member function at run time. To hold a hybrid array of base- related classes, the array will hold pointers to the base class objects. This will enable a function receiving pointers to access the appropriate object functions.

Your program should offer a menu to add a new patient, display all patients, display all outpatients (Male or Female), display all inpatients (Male or Female), or quit. Therefore you will create an array of pointers to the base class (although no objects of the base class will ever exist). When an "add" is chosen, the user is asked for the patient type. For example, if the type is male outpatient, we dynamically allocate (using new) a male outpatient object, fill in the appropriate information from the user and assign the object pointer to the next available slot in the patient array. You do not have to do any patient updates or removals for this program.

Since we want to make this an OO system, the array itself along with the functionality of displaying should be an object of a class, say Hospital.

Your output should clearly demonstrate that the program implements and achieves all the OO requirements as outlined above.

Your main program should have similar code as shown below, but be creative in defining your own driver module. Remember to make it menu-driven console application (interactive).

Class diagram of the hospital patient record-keeping application

1272_write a simple menu-driven transaction system.png

#include "Hospital.h"

#include "Patient.h"

void main (void)

{

Hospital general("Waterbury General Hospital", 500), memorial("Smithtown Memorial Hospital", 225);

MaleIn m1("Sarah", 3, "Jones", Patient::M + Patient::IN, Patient::CODE13);

MaleOut  m2("Jane", Date(12,15,98), "Evans", Patient::M + Patient::OUT, Patient::CODE11); FemaleIn f1("Bob", 2, "Simmons", Patient::F + Patient::IN, Patient::CODE7); general.admit(m1);

general.admit(m2); memorial.admit(f1);

general.display(Patient::ALL); memorial.display(Patient::ALL);

general.display(Patient::IN); memorial.display(Patient::OUT + Patient::M);

}


Attachment:- Waterbury Hospital patients records.csv

Reference no: EM13908871

Questions Cloud

Information about clients and projects : A software company has the following information about its clients and the projects given by them: Clients (client number, client name, address)
How was integration important to the campaign : What marketing concepts and tools did the campaign utilize? What marketing concepts and tools were overlooked or not used? How was integration important to the campaign
Why does a business depreciate? : Why does a business depreciate?
Write a simple menu-driven transaction system : You are to write a simple menu-driven transaction system for a hospital patient record-keeping application. A hospital has a number of types of patients, such as outpatients, emergency room, and inpatients. Each patient may be either male or femal..
Create a database for the application : Perform the following tasks to create the database required for the application: Create a database for the application.
Bonds payable is amortized using effective-interest method : Sasha Corporation issued $400,000 face value, ten-year, 10% bonds on January 1, 2017, for $453,680. The bonds pay interest annually on January 1 and the effective interest rate is 8%. Assuming that the premium on bonds payable is amortized using the ..
Find steady-state probability p of state i in embedded chain : Suppose a colleague has calculated the steady-state probabilities {pi} of being in state i for each i ≥ 0. For each i ≥ 0, find the steady-state probability π of state i in the embedded Markov chain.
Not-for-profit health care organizations : Not-for-profit health care organizations: What are revenues, gain, and other support? What are expenses and losses?

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Use numbers 0 through 23 to represent hours

Write a C function seconds_since_jan1() that takes the time as six integer arguments (year, month, day, hour,minute, and second) and returns the number of seconds since the beginning of the year. Use numbers 1 through 12 to represent months. Use numb..

  Use the convention that all years have 360 days

In writing the days() function, use the convention that all years have 360 days and each month consists of 30 days. The function should return the number of days for any Date structure passed to it. Write a main () function to test your function.

  Write a c program that reads n positive numbers from the

write a c program that reads n positive numbers from the keyboard calculates and displays the following information.a.

  Describe the three levels of data abstraction

Describe the three levels of data abstraction? Define the "integrity rules". What is extension and intension?

  Calculate the gpa of 5 courses

Write a C++ program to calculate the Gpa of 5 courses. When users enter the grades and credits of the courses from the keyboard, the program will calculates the GPA and displays it on the screen. Can you prepare this program in C++ language? Defin..

  Create a function that will accept a scalar value

Create a function that will accept a scalar value for the radius of the cylinder and end caps and will accept an array for the height of the cylinder.

  Variables should be private and the class functions public

All the class variables should be private and the class functions public. The class functions should be implemented in a file Inventory.cpp which should be linked with the inventory.hpp file.

  The westfield carpet company has asked you to write an

the westfield carpet company has asked you to write an application that calculates the price of carpeting for

  Critically describe absorption and marginal costing

Costing has always been a crucial area of concern for the Company. Mr.Freck, the Assistant Finance & Costing Manager, was assigned to lead this area, to manage financials together with the costing to ensure proper budgets and plans are put in place t..

  Write a program that accepts two real numbers

Write a program that accepts two real numbers from a user and a select code. If the entered select code is 1, have the program add the two previously entered numbers and display the result

  C++ essay & coding

Create codes for the following problem/s. Compile, test run, and edit them if necessary. Include your original .cpp and related file(s) (if any) in a single folder. Compress (zip) the folder and submit the single zipped folder.

  Convert the c++ code into matlab code

Can you convert the c++ code into matlab code

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd