Как получить основной метод для вывода вывода из аргумента команды publi c передачи в C # / - PullRequest
0 голосов
/ 21 июня 2020

Я новичок в C# и имею проблемы с передачей входных данных из метода stati c Main в другой метод командной строки publi c stati c. Ниже приведен код в Visual Studio 2019. У меня есть входные данные, и код должен возвращать значение calcPay, но его нет. Он вводит только значение, объявленное при инициализации переменной.


namespace CalcGrossPay
{
    class Salary
    {
        static void Main()
        {
            double myHours = 0;
            double myRate = 0; 
            double grossPay;
            grossPay = CalcPay(myHours, myRate);


            Console.WriteLine("Enter total hours worked: ");
            myHours = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Enter rate per hour: ");
            myRate = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Number of hours worked is {0} at {1} per hour", myHours, myRate);

            Console.WriteLine("My gross pay is\n {0:F2}", grossPay.ToString("c"));
        }
          public static double CalcPay(double hours, double rate)
            {
                double pay;

                // If hours>40
                // Get gross pay by calculating overtime
                if (hours > 40)
                {
                    pay = 40 * rate + (1.5 * rate * (hours - 40));
                }
                else
                {
                    pay = hours * rate;
                }
                return pay;
            }
        
    }
}```

1 Ответ

0 голосов
/ 21 июня 2020

Метод CalcPay вызывается только один раз, и именно тогда, когда переменные установлены на 0 Измените метод следующим образом

namespace CalcGrossPay
{
    class Salary
    {
        static void Main()
        {
            double myHours = 0;
            double myRate = 0; 
            double grossPay;
            


            Console.WriteLine("Enter total hours worked: ");
            myHours = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Enter rate per hour: ");
            myRate = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Number of hours worked is {0} at {1} per hour", myHours, myRate);

            grossPay = CalcPay(myHours, myRate);
            Console.WriteLine("My gross pay is\n {0:F2}", grossPay.ToString("c"));
        }
          public static double CalcPay(double hours, double rate)
            {
                double pay;

                // If hours>40
                // Get gross pay by calculating overtime
                if (hours > 40)
                {
                    pay = 40 * rate + (1.5 * rate * (hours - 40));
                }
                else
                {
                    pay = hours * rate;
                }
                return pay;
            }
        
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...