Использовать интерфейсы в приведенном коде - C#

Узнай цену своей работы

Формулировка задачи:

Вот сам код:
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace File_Work
{
 
    public struct Worker
    {
        public string Name { get; set; }
        public string Post { get; set; }
        public int Monce { get; set; }
        public int Day { get; set; }
        public int Year { get; set; }
        public int Seniority
        {
            get { return DateTime.Now.Year - Year; }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            const int count = 3;
            Worker[] workers = new Worker[count];
            for (int i = 0; i < count; i++)
            {
                Console.WriteLine("Введите данные о {0} работнике:", i + 1);
                Console.Write("Имя: ");
                workers[i].Name = Console.ReadLine();
                Console.Write("Должность: ");
                workers[i].Post = Console.ReadLine();
                Console.Write("день: ");
                workers[i].Day = Convert.ToInt32(Console.ReadLine());
                if (workers[i].Day < 31)
                { Console.WriteLine("данные введены верно"); }
                else
                {
                    Console.WriteLine("Вы ввели недопустимое значение, повторите ввод"); workers[i].Day = Convert.ToInt32(Console.ReadLine());
                }
                Console.ReadLine();
                Console.Write("месяц: ");
                workers[i].Monce = Convert.ToInt32(Console.ReadLine());
                if (workers[i].Monce < 12)
                { Console.WriteLine("данные введены верно"); }
                else
                {
                    Console.WriteLine("Вы ввели недопустимое значение, повторите ввод"); workers[i].Monce = Convert.ToInt32(Console.ReadLine()) ;
                }
                Console.Write("Год поступления на работу: ");
                workers[i].Year = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("=====");
            }
 
            Console.Write("Введите необходимый стаж работы, год: ");
            int st = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите необходимый стаж работы, месяц: ");
            int mt = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите необходимый стаж работы, день: ");
            int dt = Convert.ToInt32(Console.ReadLine());
            var result = workers.Where(w => w.Seniority > st).OrderBy(w => w.Name);
            if (result.Count() > 0)
            {
                Console.WriteLine("Работники со стажем {0}:", st);
                foreach (Worker w in result)
                {
                    Console.WriteLine(w.Name);
                }
            }
            else
                Console.WriteLine("Работников со стажем {0} не обнаружено:", st);
            Console.ReadLine();
        }
    }
}
Нужно добавить в него

interface

, любую функцию, что то типа возраст работника или что то на подобии. Очень срочно нужно, помогите.

Решение задачи: «Использовать интерфейсы в приведенном коде»

textual
Листинг программы
    public interface IWorker
    {
        string Name { get; set; }
        string Post { get; set; }
        int Monce { get; set; }
        int Day { get; set; }
        int Year { get; set; }
        int Seniority { get; }
    }
 
    public struct Worker : IWorker
    {
        public string Name { get; set; }
        public string Post { get; set; }
        public int Monce { get; set; }
        public int Day { get; set; }
        public int Year { get; set; }
        public int Seniority
        {
            get { return DateTime.Now.Year - Year; }
        }
    }
 
...
 
IWorker[] workers = new IWorker[count];

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.733 из 5
Похожие ответы