как получить сотрудника оптимальным способом по идентификатору, имени, опыту - PullRequest
0 голосов
/ 30 марта 2020

Я написал код ниже без применения шаблона проектирования. Что-то не так в этом коде?

class Employee {
    public int EmployeeID
    { get; set; }
    public int YearOExperience
    { get; set; }
    public int Salary
    { get; set; }
    public string EmploeyeeType
    { get; set; }
}

interface IEmployee {
    List<Employee> getInformation(int id, int exp, int sal);

}

class EmployeeData1 {

    public List<Employee> GetData(int id,int exp , int sal)
        {
            List<Employee> empInfo = new List<Employee> {

    new Employee { EmploeyeeType = "P", EmployeeID = 1, Salary = 20000, YearOExperience= 2  },
     new Employee { EmploeyeeType = "P", EmployeeID = 2, Salary = 20000, YearOExperience= 2  },
      new Employee { EmploeyeeType = "C", EmployeeID = 3, Salary = 20000, YearOExperience= 2  }

        };
            return empInfo;
        }

    }

    static void Main(string[] args) {EmployeeData1 emp = new EmployeeData1();
        emp.getInformation(1, 2, 2000);
    };
}

Вот назначение: problem

1 Ответ

0 голосов
/ 30 марта 2020

Поскольку вы вставили изображение вместо текста, мы должны заплатить за него, набрав заново.

Не передавайте, как это. Вместо того, чтобы пытаться использовать шаблоны проектирования (что не ожидается от вас), передайте работу, которая является правильной.

В вашем задании говорится, что вы должны взять в качестве ввода имя сотрудника, тип сотрудника и годы опыта.

Ваше консольное приложение должно получить эти три значения с помощью команд Console.ReadLine().

Пожалуйста, убедитесь, что это так. Но это, вероятно, так как все соревнования по коду используют стандартный ввод (Console.ReadLine() reads from stdin) для подачи ввода в приложение.

Тогда ваш учитель хочет от вас:

  1. Generate последовательный идентификатор сотрудника,
  2. Рассчитать зарплату в соответствии с многолетним опытом работы
  3. Распечатать результаты (используя Console.WriteLine(), который записывает в стандартный вывод) (* стандартный вывод))
  4. Перейдите к следующему сотруднику

Вот ограниченный пример, чтобы помочь вам. Пожалуйста, проведите исследование и заполните необходимые части самостоятельно, в противном случае, что значит получить хорошую оценку, если она не ваша?

Я не говорю, что вы можете передать это напрямую, учтите.

Но, по крайней мере, вы можете взять это как отправную точку.

Удачи.

    static void Main()
    {
        // this will be used to create sequential employee Ids
        int employeeId = 0;

        while(true) // Just press enter without entering anything to exit.
        {
            string employeeName = Console.ReadLine();

            if(employeeName == "")
            {
                return;
            }

            // Get the other two input parameters like the one above.
            // Please be careful with the last one (years of experience)
            // It should be parsed to an integer (a little research effort)

            // string employeeType = ..
            // int yearsOfExperience = ..

            // Now, assign this employee the next Id.
            employeeId++;

            // And now, calculate the employee's salary
            // You should use the years of experience and employee type
            // to match an amount in the salary table.
            int salary;
            if(employeeType == "Permanent")
            {
                salary = ..;
            }
            else
            {
                salary = ..;
            }

            // And finally, print-out using stdout
            Console.WriteLine("Employee ID: {0}", employeeId);
            // Print the other two outputs like the one above 

        }
    }
...