Logical Error

Discussion in 'C#' started by tom_289, Dec 27, 2010.

  1. tom_289

    tom_289 New Member

    Joined:
    Dec 27, 2010
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    Code given below, suppose to give
    hourly pay * number of hours + if hours greator then 37 then calculate rest with given rate (overtime)
    and display final result

    but its just multiplying pay rate hourly with pay rate for overtime hourly

    and i made it in VS 2010 windows application but error is logical as i said.... and its a payroll calculator
    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace PayrollSystem
    {
        public class partTimeEmployees : Employee
        {
            private decimal wage;       // wage per hour of work
            private double hoursWorked; // hours worked during week
            private decimal overTimeWage; // wage per hour for over time
     
            // constructor
            public partTimeEmployees(string firstNameValue, string LastNameValue,
               decimal wageValue, double hoursWorkedValue, decimal overTimeWageValue)
                : base(firstNameValue, LastNameValue)
            {
                Wage = wageValue;
                HoursWorked = hoursWorkedValue;
                OverTimeWage = overTimeWageValue;
            }
     
            // property Wage
            public decimal Wage
            {
                get
                {
                    return wage;
                }
     
                set
                {
                    // ensure non-negative wage value
                    if (value > 0)
                        wage = value;
                }
            }
            // property HoursWorked
            public double HoursWorked
            {
                get
                {
                    return hoursWorked;
                }
     
                set
                {
                    // ensure non-negative hoursWorked value
                    if (value > 0)
                        hoursWorked = value;
                }
            }
            // property over time Wage
            public decimal OverTimeWage
            {
                get
                {
                    return overTimeWage;
                }
     
                set
                {
                    // ensure non-negative wage value
                    if (value > 0)
                        overTimeWage = value;
                }
            }
     
            // override base-class method to calculate 
            // HourlyWorker earnings
            public override decimal Earnings()
            {
             // compensate for overtime (paid "time-and-a-half")
             if ( HoursWorked <= 37 )
             {
                return Wage * Convert.ToDecimal( HoursWorked );
             }
     
             else
             {
                // calculate base and overtime pay
                decimal basePay = Wage * Convert.ToDecimal(37);
                decimal overtimePay = OverTimeWage * Convert.ToDecimal( HoursWorked - 37);
     
                return basePay + overtimePay;
             }
            }
     
            // return string representation of HourlyWorker
            public override string ToString()
            {
                return "Part Time Employee: " + base.ToString();
            }
        }
     
    }
    
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice