йцуываяваывацукафвфыаывиапрвапваяпыфурыпртыпыя. Лабораторная работа №4 (1). Лабораторная работа Наследование Задание 1
Скачать 55.02 Kb.
|
ЛАБОРАТОРНАЯ РАБОТА № 4. Наследование Задание 1. Создайте проект, в котором опишите иерархию клас- сов для решения задачи Вашего варианта. Дополните базовый класс, который был создан в лабораторной работе № 1, классами-потомками. Производные классы должны содержать необходимые дополнения и изменения, указанные в варианте задания. Составить тестирующую программу с выдачей результатов. В программе должна выполняться проверка разработанных элементов всей иерархии классов, вывод состояния различных объектов. using System; using System.Collections.Generic; using System.Text; namespace LAbWork1 { class Worker { public string Fio { get; set; } public double p { get; set; } public Worker(string fio, double p)//Constructor with parameters(Конструктор с параметрами) { this.Fio = fio; this.p = p; } public double ZP(double p, double k)//k*p - calculation of the employee's ЗП, where k is the coefficient and p is the minimum ЗП { return k * p; } public double P(double p)//p - calculation of the employee's ЗП, p is the minimum ЗП { return p; } } class SalesVolume : Worker { public double V { get; set; } public SalesVolume(string fio, double p, double k, double v) : base(fio, p) { this.V = v; } public new double P(double p)//k*p - calculation of the employee's ЗП, where k is the coefficient and p is the minimum ЗП { if (base.P(p) < V) return base.P(p) * 0.01; else return base.P(p); } } class ProjectVolume : Worker { public double n { get; set; } public ProjectVolume(string fio, double p, double k, double v) : base(fio, p) { this.n = n; } public new double ZP(double p, double k)//k*p - calculation of the employee's ЗП, where k is the coefficient and p is the minimum ЗП { if (base.ZP(p, k) < n) return base.ZP(p, k) * 4.8; else return base.ZP(p, k); } } class Fio { private static void Main(string[] args) { Console.Write("Введите ФИО менеджера : "); string surname = Console.ReadLine(); Console.Write("Введите минимальную ЗП : "); double p = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите коэффициент сотрудника : "); double k = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите объем продаж : "); double v = Convert.ToDouble(Console.ReadLine()); Worker test = new Worker(surname, p); Console.WriteLine("Имя: {0}\tЗ.п. по коэффициенту: {1}", surname, test.ZP(p, k)); Console.WriteLine(" "); Console.WriteLine(" "); SalesVolume sv = new SalesVolume(surname, p, k, v); Console.WriteLine("Имя: {0}\tЗ.п. доход при объемах продаж : {1} равна : {2}", surname, v, sv.P(p)); Console.WriteLine(" "); Console.WriteLine("_______________________________________________"); Console.WriteLine(" "); Console.Write("Введите ФИО инженера : "); string Surname = Console.ReadLine(); Console.Write("Введите минимальную ЗП : "); double P = Convert.ToDouble(Console.ReadLine()); Console.Write("Введите количество разработанных проектов : "); double n = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(" "); ProjectVolume pv = new ProjectVolume(surname, p, k, n); Console.WriteLine("Имя: {0}\tЗ.п. доход при количество разработанных проектов : {1} равна : {2}", surname, n, pv.ZP(p, k)); Console.Write("\nНажмите любую клавишу, чтобы продолжить... "); Console.ReadKey(); } } } |