Главная страница

йцуываяваывацукафвфыаывиапрвапваяпыфурыпртыпыя. Лабораторная работа №4 (1). Лабораторная работа Наследование Задание 1


Скачать 55.02 Kb.
НазваниеЛабораторная работа Наследование Задание 1
Анкорйцуываяваывацукафвфыаывиапрвапваяпыфурыпртыпыя
Дата08.04.2022
Размер55.02 Kb.
Формат файлаdocx
Имя файлаЛабораторная работа №4 (1).docx
ТипЛабораторная работа
#453892

ЛАБОРАТОРНАЯ РАБОТА № 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();

}

}

}


написать администратору сайта