我在“扣除”的最后一行遇到问题。 这是一个计算员工净工资的计划。每个输出都是老师想要的,除了扣除。当它运行时显示“292.22”而不是“368.72”,输入为:小时= 48.55,速率= 25.50,依赖= 3。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Program5
{
class NetPay
{
static double hours, rate, dependents;
const double TAXRATE = .23;
const double DEPENDENTS = 25.50;
static void Main(string[] args)
{
GetInput();
Calculations();
}
static void GetInput()
{
Console.Write("Enter hours worked: ");
hours = double.Parse(Console.ReadLine());
Console.Write("Enter hourly rate: ");
rate = double.Parse(Console.ReadLine());
Console.Write("Enter number of dependents: ");
dependents = double.Parse(Console.ReadLine());
}
static void Calculations()
{
double gross, netPay, deduction;
Console.WriteLine("\nHourse Worked:\t\t\t\t\t {0:c}", hours);
Console.WriteLine("Hourly Rate:\t\t\t\t\t {0:c}", rate);
Console.WriteLine("Dependents:\t\t\t\t\t\t{0}", dependents);
if (hours > 40)
gross = Math.Round((((hours - 40) * 1.5 ) * rate) + (40 * rate), 2);
else
gross = Math.Round(hours * rate, 2);
Console.WriteLine("Gross Pay:\t\t\t\t\t{0:c}", gross);
dependents = Math.Round(dependents * DEPENDENTS, 2);
gross = gross - dependents;
deduction = Math.Round(gross * TAXRATE, 2);
Console.WriteLine("Deductions:\t\t\t\t\t{0:c}", deduction);
Console.WriteLine("\t\t\t\t\t\t---------");
netPay = gross - deduction;
Console.WriteLine("Net Pay:\t\t\t\t\t{0:c}", netPay);
}
}
}