online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
/****************************************************************************** Name: Maria Logan File Name: main.cpp *******************************************************************************/ #include <iostream> using namespace std; #include "hourlyEmployee.h" #include "salariedEmployee.h" #include "employee.h" //Test program with six employees hard coded to work with program to compute salary of employees. int main() { employee* emp[6]; emp[0] = new salariedEmployee("Alyssa Flint ", "Managment", "Owner", 150000); emp[1] = new salariedEmployee("Hayley Gandey", "Managment", "Vice President", 100000); emp[2] = new salariedEmployee("Dustin Short", "Managment", "Regional Supervisor", 82000.50); emp[3] = new hourlyEmployee("Brandon Dempsey", "Sales", "Salesman", 55, 22.35); emp[4] = new hourlyEmployee("Marsha Greene", "Support", "Receptionist", 42, 12.27); emp[5] = new hourlyEmployee("Erik Testerman", "Support", "Janitor", 90, 7.25); for (int i = 0; i < 6; i++) { emp[i]->print(); } getchar(); return 0; }
/****************************************************************************** Name: Maria Logan File Name: employee.h *******************************************************************************/ #pragma once #include <iostream> #include <string> using namespace std; #ifndef EMP_H #define EMP_H const double TAX_RATE = 30; class employee { public: employee() { name = ""; department = ""; title = ""; } employee(string _name, string _department, string _title) { name = _name; department = _department; title = _title; } string getName() { return name; } string getDepartment() { return department; } string getTitle() { return title; } void setName(string _name) { name = _name; } void setDepartment(string dept) { department = dept; } void setTitle(string _title) { title = _title; } virtual void print() { cout << "Employee Name: " << name << endl; cout << "Department: " << department << endl; cout << "Title: " << title << endl; } private: string name; string department; string title; }; #endif
/****************************************************************************** Name: Maria Logan File Name: hourlyEmployee.h *******************************************************************************/ #pragma once #include "employee.h" #include <iostream> #include <string> using namespace std; #ifndef hourlyEmployee_H #define hourlyEmployee_H class hourlyEmployee : public employee { //Determines pay before and after tax, hours worked at regular pay and hours worked at overtime of hourly employee. private: int hoursWorked; double hourlyRate; double taxAmount; double netPay; double paycheck; void CalculateSalary(); public: hourlyEmployee(); hourlyEmployee(string _name, string _department, string _title, int _hours_worked, double _hourly_rate); double getHourlyRate(); double getOvertimePay(); double getRegularPay(); double getTaxAmount(); double getNetPay(); int getHoursWorked(); void setHoursWorked(int hours); void setHourlyRate(double rate); void print(); }; #endif hourlyEmployee::hourlyEmployee() :employee() { hoursWorked = 0; hourlyRate = 0; } hourlyEmployee::hourlyEmployee(string _name, string _department, string _title, int hours_worked, double hourly_rate) :employee(_name, _department, _title) { hoursWorked = hours_worked; hourlyRate = hourly_rate; } double hourlyEmployee::getHourlyRate() { return hourlyRate; } double hourlyEmployee::getOvertimePay() { int overtimeHours; double overtime_Pay; if (getHoursWorked() > 40) { overtimeHours = getHoursWorked() - 40; overtime_Pay = overtimeHours * (getHourlyRate() * 1.5); return overtime_Pay; } else { return 0; } } double hourlyEmployee::getRegularPay() { double regularPay; if (getHoursWorked() > 40) { regularPay = getHourlyRate() * 40; } else { regularPay = getHourlyRate() * getHoursWorked(); } return regularPay; } double hourlyEmployee::getTaxAmount() { taxAmount = (getRegularPay() + getOvertimePay() * TAX_RATE) / 100; return taxAmount; } double hourlyEmployee::getNetPay() { netPay = getRegularPay() + getOvertimePay() - getTaxAmount(); return netPay; } int hourlyEmployee::getHoursWorked() { return hoursWorked; } void hourlyEmployee::setHoursWorked(int hours_worked) { hoursWorked = hours_worked; } void hourlyEmployee::setHourlyRate(double hourly_rate) { hourlyRate = hourly_rate; } void hourlyEmployee::print() { this->employee::print(); cout << " Hours Worked: " << getHoursWorked() << endl; cout << "Hourly Rate: " << getHourlyRate() << endl; cout << "Overtime Pay: " << getOvertimePay() << endl; cout << " Net Pay: " << getNetPay() << "\n" << endl; }
/****************************************************************************** Name: Maria Logan File Name: salariedEmployee.h *******************************************************************************/ #pragma once #include "employee.h" #include <iostream> #include <string> using namespace std; #ifndef salariedEmployee_H #define salariedEmployee_H class salariedEmployee : public employee //Determines pay before and after tax of salaried employee. { private: double annual_salary; public: salariedEmployee(); salariedEmployee(string _name, string _department, string _title, double _annual_salary); double getWeeklyGrossPay(); double getWeeklyTaxAmount(); double getWeeklyNetPay(); void setAnnaulSalary(double salary); void print(); }; #endif salariedEmployee::salariedEmployee(){ annual_salary = 0; } salariedEmployee::salariedEmployee(string _name, string _department, string _title, double _annual_salary) :employee(_name, _department, _title){ annual_salary = _annual_salary; } double salariedEmployee::getWeeklyGrossPay(){ double weeklyGrossPay = 0; weeklyGrossPay = annual_salary / 52; return weeklyGrossPay; } double salariedEmployee::getWeeklyTaxAmount(){ double weeklyTaxAmount; weeklyTaxAmount = (getWeeklyGrossPay() * TAX_RATE) / 100; return weeklyTaxAmount; } double salariedEmployee::getWeeklyNetPay(){ double weeklyNetPay; weeklyNetPay = getWeeklyGrossPay() - getWeeklyTaxAmount(); return weeklyNetPay; } void salariedEmployee::setAnnaulSalary(double salary){ annual_salary = annual_salary; } void salariedEmployee::print(){ // name, grosspay, taxmount, and net pay this->employee::print(); cout << "Gross Pay: " << getWeeklyGrossPay() << endl; cout << "Tax Amount: " << getWeeklyTaxAmount() << endl; cout << "Net Pay: " << getWeeklyNetPay() << "\n" <<endl; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue