Описать класс 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);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д