1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

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