public abstract class Employee
public string Name {get;set;}
public float BasicSalary {get;set;}
public double Bonus {get;set;}
public float NetSalary {get;set;}
public abstract float CalculateSalary(
public abstract float CalculateBonus(
public class PermanentEmployee: Employee {
public int Pf { get => pf; set => pf = value; }
public override float CalculateBonus(
Bonus = (0.1)*BasicSalary;
else if(Pf>=1500 && pf<1500) {
Bonus = (0.115*BasicSalary);
else if(Pf>=1500 && pf<1800) {
Bonus = (0.12*BasicSalary);
Bonus = 0.15*BasicSalary;
public override float CalculateSalary(int id, string name, float basicSalary)
NetSalary = basicSalary-Pf;
public class TemporaryEmployee: Employee {
public int DailyWages1 { get => DailyWages; set => DailyWages = value; }
public int NoOfDays1 { get => NoOfDays; set => NoOfDays = value; }
public override float CalculateBonus(
else if(DailyWages1>=1000 && DailyWages1 < 1500) {
else if(DailyWages1>=1500 && DailyWages1<1750) {
else if(DailyWages1>=1750) {
public override float CalculateSalary(
NetSalary = DailyWages1 * NoOfDays1;
public static void Main() {
System.Console.WriteLine("Enter the details:");
System.Console.WriteLine("Enter type of Employee:");
string type_of_emp = Console.ReadLine();
System.Console.WriteLine("Employee Id:");
int eid = int.Parse(Console.ReadLine());
System.Console.WriteLine("Employee Name:");
string ename = Console.ReadLine();
if(type_of_emp=="Permanent") {
System.Console.WriteLine("Basic Salary:");
int basic_salary = int.Parse(Console.ReadLine());
System.Console.WriteLine("PF:");
int pf = int.Parse(Console.ReadLine());
PermanentEmployee pe1 = new PermanentEmployee();
System.Console.WriteLine("The details are: ");
System.Console.WriteLine("Employee Id: "+ eid);
System.Console.WriteLine("Employee Name: "+ename);
System.Console.WriteLine("Basic Salary: "+basic_salary);
System.Console.WriteLine("PF:"+pf);
pe1.BasicSalary=basic_salary;
System.Console.WriteLine("Bonus: "+ pe1.CalculateBonus(basic_salary,pf));
System.Console.WriteLine("Net salary: "+pe1.CalculateSalary(eid,ename,basic_salary));
else if(type_of_emp=="Temporary") {
System.Console.WriteLine("Daily Wages:");
int wages = int.Parse(Console.ReadLine());
System.Console.WriteLine("No. of days worked: ");
int no_of_days_worked = int.Parse(Console.ReadLine());
TemporaryEmployee te1 = new TemporaryEmployee();
System.Console.WriteLine("The details are: ");
System.Console.WriteLine("Employee Id: "+ eid);
System.Console.WriteLine("Employee Name: "+ename);
System.Console.WriteLine("Daily Wages: "+wages);
System.Console.WriteLine("No. of days worked: "+no_of_days_worked);
te1.NoOfDays1 = no_of_days_worked;
float net_salary = te1.CalculateSalary(eid,ename,wages);
System.Console.WriteLine("Bonus: "+ te1.CalculateBonus(wages,no_of_days_worked));
System.Console.WriteLine("Net salary: "+ net_salary);