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

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

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

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

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

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace _5_2
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Worker[] workers = new Worker[6];
  13.             for (int i = 0; i < 6; i++)
  14.             {
  15.                 workers[i] = new Worker();
  16.             }
  17.             workers[0].Surname = "Иванов";
  18.             workers[0].Name = "Иван";
  19.             workers[0].Patronymic = "Иванович";
  20.             workers[0].Post = "Директор";
  21.             workers[0].Year = 1985;
  22.             workers[0].Pay = 5000000;
  23.             workers[1].Surname = "Петров";
  24.             workers[1].Name = "Петр";
  25.             workers[1].Patronymic = "Петрович";
  26.             workers[1].Post = "Нач. отдела";
  27.             workers[1].Year = 1990;
  28.             workers[1].Pay = 4000000;
  29.             workers[2].Surname = "Семёнов";
  30.             workers[2].Name = "Семён";
  31.             workers[2].Patronymic = "Семёнович";
  32.             workers[2].Post = "Бухгалтер";
  33.             workers[2].Year = 1995;
  34.             workers[2].Pay = 3000000;
  35.             workers[3].Surname = "Павлов";
  36.             workers[3].Name = "Павел";
  37.             workers[3].Patronymic = "Павлович";
  38.             workers[3].Post = "Экономист";
  39.             workers[3].Year = 2000;
  40.             workers[3].Pay = 2500000;
  41.             workers[4].Surname = "Егоров";
  42.             workers[4].Name = "Егор";
  43.             workers[4].Patronymic = "Егорович";
  44.             workers[4].Post = "Менеджер";
  45.             workers[4].Year = 2005;
  46.             workers[4].Pay = 2000000;
  47.             workers[5].Surname = "Сергеев";
  48.             workers[5].Name = "Сергей";
  49.             workers[5].Patronymic = "Сергеевич";
  50.             workers[5].Post = "Уборщик";
  51.             workers[5].Year = 2010;
  52.             workers[5].Pay = 1500000;
  53.             workers[5]++; // Прибавляем работнику миллион к зарплате с помощью перегруженного оператора ++
  54.             workers[4] *=10; // Умножаем работнику зарплату в 10 раз с помощью перегруженного оператора *
  55.             // Сравниваем зарплаты двух работников с помощью перегруженного оператора >=
  56.             if (workers[4]>=workers[5])
  57.             {
  58.                 Console.WriteLine("Зарплата " + workers[4].Surname + " " + workers[4].Name + " " + workers[4].Patronymic + " не меньше, чем у " + workers[5].Surname + " " + workers[5].Name + " " + workers[5].Patronymic);
  59.             }
  60.             else
  61.             {
  62.                 Console.WriteLine("Зарплата " + workers[4].Surname + " " + workers[4].Name + " " + workers[4].Patronymic + " меньше, чем у " + workers[5].Surname + " " + workers[5].Name + " " + workers[5].Patronymic);
  63.             }
  64.             // Сравниваем зарплаты двух работников с помощью перегруженного оператора <=
  65.             if (workers[1] <= workers[2])
  66.             {
  67.                 Console.WriteLine("Зарплата " + workers[1].Surname + " " + workers[1].Name + " " + workers[1].Patronymic + " меньше, чем у " + workers[2].Surname + " " + workers[2].Name + " " + workers[2].Patronymic);
  68.             }
  69.             else
  70.             {
  71.                 Console.WriteLine("Зарплата " + workers[1].Surname + " " + workers[1].Name + " " + workers[1].Patronymic + " не меньше, чем у " + workers[2].Surname + " " + workers[2].Name + " " + workers[2].Patronymic);
  72.             }
  73.             Console.WriteLine("Количество объектов: "+Worker.Count);
  74.             do
  75.             {
  76.                 Console.WriteLine("Введите число лет работы, для вывода информации о работнике:");
  77.                 int years = Convert.ToInt32(Console.ReadLine());
  78.                 for (int i = 0; i < 6; i++)
  79.                 {
  80.                     if (2015 - workers[i].Year > years)
  81.                     {
  82.                         Console.WriteLine("-----------------------");
  83.                         workers[i].Show();
  84.                     }
  85.                 }
  86.                 Console.WriteLine("-----------------------");
  87.                 Console.WriteLine("Продолжить работу программы? (да/нет)");
  88.             }
  89.             while (Console.ReadLine() != "n");
  90.         }
  91.     }
  92.     class Worker
  93.     {
  94.         private string _surname;
  95.         private string _name;
  96.         private string _patronymic;
  97.         private string _post;
  98.         private int _year;
  99.         private int _pay;
  100.         private static int _count;
  101.         public static int Count
  102.         {
  103.             get { return _count; }
  104.         }
  105.         public Worker()
  106.         {
  107.             _count++;
  108.         }
  109.         // Оператор ++ Прибавляет к зарплате работника 1 млн
  110.         public static Worker operator ++ (Worker obj)
  111.         {
  112.             obj.Pay += 1000000;
  113.             return obj;
  114.         }
  115.         // Оператор * умножает зарплату работника на заданное число
  116.         public static Worker operator *(Worker obj,int x)
  117.         {
  118.             obj.Pay = obj.Pay * x;
  119.             return obj;
  120.         }
  121.         // Оператор >= сравнивает зарплаты двух работников
  122.         public static bool operator >= (Worker obj1, Worker obj2)
  123.         {
  124.             return obj1.Pay >= obj2.Pay;
  125.         }
  126.         // Оператор <= сравнивает зарплаты двух работников
  127.         public static bool operator <=(Worker obj1, Worker obj2)
  128.         {
  129.             return obj1.Pay <= obj2.Pay;
  130.         }
  131.         public string Surname
  132.         {
  133.             get { return _surname; }
  134.             set { _surname = value; }
  135.         }
  136.         public string Name
  137.         {
  138.             get { return _name; }
  139.             set { _name = value; }
  140.         }
  141.         public string Patronymic
  142.         {
  143.             get { return _patronymic; }
  144.             set { _patronymic = value; }
  145.         }
  146.         public string Post
  147.         {
  148.             get { return _post; }
  149.             set { _post = value; }
  150.         }
  151.         public int Year
  152.         {
  153.             get { return _year; }
  154.             set { _year = value; }
  155.         }
  156.         public int Pay
  157.         {
  158.             get { return _pay; }
  159.             set { _pay = value; }
  160.         }
  161.         public void Show()
  162.         {
  163.             Console.WriteLine("Информация по работнику:");
  164.             Console.WriteLine("Фамилия: {0}", Surname);
  165.             Console.WriteLine("Имя: {0}", Name);
  166.             Console.WriteLine("Отчество: {0}", Patronymic);
  167.             Console.WriteLine("Должность: {0}", Post);
  168.             Console.WriteLine("Год поступления на работу: {0}", Year);
  169.             Console.WriteLine("Зарплата: {0}", Pay);
  170.         }
  171.     }
  172. }

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


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

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

14   голосов , оценка 3.786 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы