public abstract class AbstractEmployee
public abstract double Indexing();
public abstract void SalaryChange();
public abstract double SalarySum();
public abstract void PrintSalary();
public class Boss: AbstractEmployee
{ private double salary= 1050;
public override double Indexing()
double a= 1/10*this.Salary*12;
public override void SalaryChange()
Console.WriteLine("Въведи променена заплата");
double a= double.Parse(Console.ReadLine());
public override double SalarySum()
public override void PrintSalary()
Console.WriteLine("{0}",this.Salary);
public class CommissionWorker: AbstractEmployee
public override double SalarySum()
{ Console.WriteLine("Въведи продажби");
double sales= double.Parse(Console.ReadLine());
Console.WriteLine("Въведи процент комисионна");
double per= double.Parse(Console.ReadLine());
double sum= this.salary+per/100*sales;
public override double Indexing()
{double a= 1/10*this.Salary*12;
public override void SalaryChange()
{ Console.WriteLine("Въведи променена заплата");
double a= double.Parse(Console.ReadLine());
public override void PrintSalary()
{ double p= this.SalarySum();
Console.WriteLine("{0}",this.SalarySum());
public CommissionWorker()
public CommissionWorker(double d)
public class PieceWorker: AbstractEmployee
{ private double quantity;
public override double SalarySum()
{Console.WriteLine("Въведи изработено количество работа за месец");
double q= double.Parse(Console.ReadLine());
Console.WriteLine("Въведи базова заплата");
double sal=double.Parse(Console.ReadLine());
double salary= this.quantity/q*sal;
public override double Indexing()
{double a= 1/10*this.SalarySum()*12;
public override void SalaryChange()
{ Console.WriteLine("Въведи промененo количество работа");
double a= double.Parse(Console.ReadLine());
public override void PrintSalary()
{ double p= this.SalarySum();
Console.WriteLine("{0}",this.SalarySum());
public static void Main()