Classes 1_4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lab_1_4 {
	class Program {
		class Worker {
			static protected Dictionary<string, int> stavka = new Dictionary<string, int> {
				{"учитель математики",100},
				{"слесарь",200},
				{"электрик",300} };
			private string FIO;
			protected string dolchnost;
			private int year;
			public Worker(string FIO, string dolchnost, int year) {
				this.FIO = FIO;
				this.dolchnost = dolchnost;
				this.year = year;
			}
			virtual public void Show() {
				Console.Write("\nФИО: {0}\nДолжность:{1}\nГод поступления: {2}\n",
				FIO, dolchnost, year);
			}
			public int Year // свойство возвращает и устанавливает год
			{
				get {
					return year;
				}
				set {
					year = value;
				}
			}
			public double Zarplata(int days) {
				return 8 * stavka[dolchnost] * days;
			}
		}
		class Teacher : Worker {
			static protected Dictionary<int, double> koeff = new Dictionary<int, double> {
				{1,1.25},
				{2,1},
				{0,1.5} };
			int nagruzka;
			int kategoria;
			public Teacher(string FIO, int year, int nagruzka, int kategoria) :
			base(FIO, "учитель математики", year) {
				this.nagruzka = nagruzka;
				this.kategoria = kategoria;
			}
			public override void Show() {
				base.Show();
				Console.Write("\tНагрузка:{0}\n\tКатегория:{1}\n", nagruzka, kategoria);
			}
			public double Zarplata() {
				return stavka[dolchnost] * nagruzka * koeff[kategoria];
			}
		}
		static void Main() {
			Worker P = new Worker("Сабитова Анна Ивановна", "менеджер", 2007);
			Worker A = new Worker("Николаев Евгений Дмитриевич", "таксист", 2000);
			Teacher S = new Teacher("Неповинных Лилия Серговна", 2009, 400, 1);
			Teacher B = new Teacher("Вохмянина Маргарита Ивановна", 2016, 360, 2);
			P.Show();
			A.Show();
			S.Show();
			B.Show();
			Console.ReadKey();
		}
	}
}