Описать класс Worker - C#

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

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

Разработать класс для описанных ниже объектов. Включить в класс методы set (...), get (...), show (...) Worker: Фамилия, Имя, Отчество, Должность, Год поступления на работу, Зарплата. Создать массив объектов. Вывести: а) список работников, стаж работы которых на данном предприятии превышает заданное число лет.

Решение задачи: «Описать класс Worker»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace _5_2
{
    class Program
    {
        static void Main(string[] args)
        {
            Worker[] workers = new Worker[6];
            for (int i = 0; i < 6; i++)
            {
                workers[i] = new Worker();
            }
            workers[0].Surname = "Иванов";
            workers[0].Name = "Иван";
            workers[0].Patronymic = "Иванович";
            workers[0].Post = "Директор";
            workers[0].Year = 1985;
            workers[0].Pay = 5000000;
            workers[1].Surname = "Петров";
            workers[1].Name = "Петр";
            workers[1].Patronymic = "Петрович";
            workers[1].Post = "Нач. отдела";
            workers[1].Year = 1990;
            workers[1].Pay = 4000000;
            workers[2].Surname = "Семёнов";
            workers[2].Name = "Семён";
            workers[2].Patronymic = "Семёнович";
            workers[2].Post = "Бухгалтер";
            workers[2].Year = 1995;
            workers[2].Pay = 3000000;
            workers[3].Surname = "Павлов";
            workers[3].Name = "Павел";
            workers[3].Patronymic = "Павлович";
            workers[3].Post = "Экономист";
            workers[3].Year = 2000;
            workers[3].Pay = 2500000;
            workers[4].Surname = "Егоров";
            workers[4].Name = "Егор";
            workers[4].Patronymic = "Егорович";
            workers[4].Post = "Менеджер";
            workers[4].Year = 2005;
            workers[4].Pay = 2000000;
            workers[5].Surname = "Сергеев";
            workers[5].Name = "Сергей";
            workers[5].Patronymic = "Сергеевич";
            workers[5].Post = "Уборщик";
            workers[5].Year = 2010;
            workers[5].Pay = 1500000;
            workers[5]++; // Прибавляем работнику миллион к зарплате с помощью перегруженного оператора ++
            workers[4] *=10; // Умножаем работнику зарплату в 10 раз с помощью перегруженного оператора *
            // Сравниваем зарплаты двух работников с помощью перегруженного оператора >=
            if (workers[4]>=workers[5])
            {
                Console.WriteLine("Зарплата " + workers[4].Surname + " " + workers[4].Name + " " + workers[4].Patronymic + " не меньше, чем у " + workers[5].Surname + " " + workers[5].Name + " " + workers[5].Patronymic);
            }
            else
            {
                Console.WriteLine("Зарплата " + workers[4].Surname + " " + workers[4].Name + " " + workers[4].Patronymic + " меньше, чем у " + workers[5].Surname + " " + workers[5].Name + " " + workers[5].Patronymic);
            }
            // Сравниваем зарплаты двух работников с помощью перегруженного оператора <=
            if (workers[1] <= workers[2])
            {
                Console.WriteLine("Зарплата " + workers[1].Surname + " " + workers[1].Name + " " + workers[1].Patronymic + " меньше, чем у " + workers[2].Surname + " " + workers[2].Name + " " + workers[2].Patronymic);
            }
            else
            {
                Console.WriteLine("Зарплата " + workers[1].Surname + " " + workers[1].Name + " " + workers[1].Patronymic + " не меньше, чем у " + workers[2].Surname + " " + workers[2].Name + " " + workers[2].Patronymic);
            }
            Console.WriteLine("Количество объектов: "+Worker.Count);
            do
            {
                Console.WriteLine("Введите число лет работы, для вывода информации о работнике:");
                int years = Convert.ToInt32(Console.ReadLine());
                for (int i = 0; i < 6; i++)
                {
                    if (2015 - workers[i].Year > years)
                    {
                        Console.WriteLine("-----------------------");
                        workers[i].Show();
                    }
                }
                Console.WriteLine("-----------------------");
                Console.WriteLine("Продолжить работу программы? (да/нет)");
            }
            while (Console.ReadLine() != "n");
        }
    }
    class Worker
    {
        private string _surname;
        private string _name;
        private string _patronymic;
        private string _post;
        private int _year;
        private int _pay;
        private static int _count;
        public static int Count
        {
            get { return _count; }
        }
        public Worker()
        {
            _count++;
        }
        // Оператор ++ Прибавляет к зарплате работника 1 млн
        public static Worker operator ++ (Worker obj)
        {
            obj.Pay += 1000000;
            return obj;
        }
        // Оператор * умножает зарплату работника на заданное число
        public static Worker operator *(Worker obj,int x)
        {
            obj.Pay = obj.Pay * x;
            return obj;
        }
        // Оператор >= сравнивает зарплаты двух работников
        public static bool operator >= (Worker obj1, Worker obj2)
        {
            return obj1.Pay >= obj2.Pay;
        }
        // Оператор <= сравнивает зарплаты двух работников
        public static bool operator <=(Worker obj1, Worker obj2)
        {
            return obj1.Pay <= obj2.Pay;
        }
        public string Surname
        {
            get { return _surname; }
            set { _surname = value; }
        }
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        public string Patronymic
        {
            get { return _patronymic; }
            set { _patronymic = value; }
        }
        public string Post
        {
            get { return _post; }
            set { _post = value; }
        }
        public int Year
        {
            get { return _year; }
            set { _year = value; }
        }
        public int Pay
        {
            get { return _pay; }
            set { _pay = value; }
        }
        public void Show()
        {
            Console.WriteLine("Информация по работнику:");
            Console.WriteLine("Фамилия: {0}", Surname);
            Console.WriteLine("Имя: {0}", Name);
            Console.WriteLine("Отчество: {0}", Patronymic);
            Console.WriteLine("Должность: {0}", Post);
            Console.WriteLine("Год поступления на работу: {0}", Year);
            Console.WriteLine("Зарплата: {0}", Pay);
        }
    }
}

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


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

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

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