Project 4


Total Points:                           10 pts. + 3 extra credit pts.

Overview
The Parkland Insurance company has asked you to develop a record-keeping system to manage the different types of insurance sales made by the various types of employees working at the company. Write a system that allows a user to input employee information and sales transactions and print sales information in various formats until the user terminates the session.
 

Description
There are three main types of insurance policies offered by the company:

Auto insurance policy

Policy information includes:
    - name of insured
    - make and model of automobile
    - VIN number (vehicle identification number)
    - amount of liability coverage in dollars
    - amount of collision coverage in dollars
Base sales commission is based on the formula:

commission = (liability + collision) * 30%



Home insurance policy

Policy information includes:
    - name of insured
    - house square footage
    - amount of dwelling coverage in dollars
    - amount of contents coverage in dollars
    - amount of liability coverage in dollars
Base sales commission is based on the formula:
commission = (liability * 30%) + ( (dwelling + contents) * 20% )

 

 

Life insurance policy

Policy information includes:
    - name of insured
    - age of insured
    - name of dependent
    - amount of term life coverage in dollars
Base sales commission is based on the following formula:
commission = term life * 20%

 

There are two main types of employees at the company:

Salesperson

Employee information includes:
    - name of employee
    - base salary in dollars
    - commission total in dollars
    - total salary in dollars
    - list of all sales made

Commission total is based on the following formula:
commission =  commission total from all sales + ( commissions total from all sales * 5% )

 

Employee total salary is based on the following formula:
total salary = base salary + commission total

 

 

Manager

Employee information includes:
    - name of employee
    - base salary in dollars
    - commission total in dollars
    - total salary in dollars
    - list of all sales made
    - list of salespeople reporting to him/her

Commission total is based on the following formula:
commission =   commission total from all sales + ( commissions total from all sales * 30% ) +
                       ( commission total from all reporting salespeople * 5% )

 

Employee total salary is based on the following formula:
total salary = base salary + commission total

 

The company has asked for the record-keeping system to be able to print out sales information in various output formats including: 

- List of employees only
- List of all sales only
- List of all sales made by all employees in tabular format
- List of all sales made by an individual employee
- List of all sales made by employees reporting to individual manager


 

Notes
1) Design and develop your C++ classes to accurately represent the data models and the tasks operating on the data models. Each class must have both a header file (.h) and a source file (.C). Design your classes with well-documented, sufficient design notes. Design notes will be collected and graded as part of the project grade.

2) Your program MUST make use of abstract classes, inheritance, polymorphism, and dynamic binding. You MUST document and diagram your class hierarchies used for this program as part of your design documents.

3) Your program MUST use the overloaded output stream operators.

4) You may assume that the company has a maximum of 10 employees with no more than 100 sales transactions.
 


Extra Credit
Use STL classes to allow your insurance system to store any number of employees and sales transactions.