Advertisement
JoaoMR

Polimorfismo-UNIS

May 25th, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.06 KB | None | 0 0
  1. namespace Course.Entities
  2. {
  3.     class Employee
  4.     {
  5.         public string Name { get; set; }
  6.         public int Hours { get; set; }
  7.         public double ValuePerHour { get; set; }
  8.  
  9.         public Employee()
  10.         {
  11.         }
  12.  
  13.         public Employee(string name, int hours, double valuePerHour)
  14.         {
  15.             Name = name;
  16.             Hours = hours;
  17.             ValuePerHour = valuePerHour;
  18.         }
  19.  
  20.         public virtual double Payment()
  21.         {
  22.             return Hours * ValuePerHour;
  23.         }
  24.     }
  25. }
  26. _______________________________________________________________________________________________________________________________________
  27. namespace Course.Entities
  28. {
  29.     class OutsourcedEmployee : Employee
  30.     {
  31.         public double AdditionalCharge { get; set; }
  32.  
  33.         public OutsourcedEmployee()
  34.         {
  35.         }
  36.  
  37.         public OutsourcedEmployee(string name, int hours, double valuePerHour, double additionalCharge)
  38.             :base(name, hours, valuePerHour)
  39.         {
  40.             AdditionalCharge = additionalCharge;
  41.         }
  42.  
  43.         public override double Payment()
  44.         {
  45.             return base.Payment() + 1.1 * AdditionalCharge;
  46.         }
  47.     }
  48. }
  49. ________________________________________________________________________________________________________________________________________
  50. O Programa->
  51. using System;
  52. using System.Globalization;
  53. using System.Collections.Generic;
  54. using Course.Entities;
  55.  
  56. namespace Course
  57. {
  58.     class Program
  59.     {
  60.         static void Main(string[] args)
  61.         {
  62.             List<Employee> list = new List<Employee>();
  63.  
  64.             Console.Write("Enter the number of employees: ");
  65.             int n = int.Parse(Console.ReadLine());
  66.  
  67.             for (int i = 1; i <= n; i++)
  68.             {
  69.                 Console.WriteLine($"Employee #{i} data:");
  70.                 Console.Write("Outsourced (y/n)? ");
  71.                 char ch = char.Parse(Console.ReadLine());
  72.                 Console.Write("Name: ");
  73.                 String name = Console.ReadLine();
  74.                 Console.Write("Hours: ");
  75.                 int hours = int.Parse(Console.ReadLine());
  76.                 Console.Write("Value per hour: ");
  77.                 double valuePerHour = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
  78.                 if (ch == 'y')
  79.                 {
  80.                     Console.Write("Additional charge: ");
  81.                     double additionalCharge = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
  82.                     list.Add(new OutsourcedEmployee(name, hours, valuePerHour, additionalCharge));
  83.                 }
  84.                 else
  85.                 {
  86.                     list.Add(new Employee(name, hours, valuePerHour));
  87.                 }
  88.             }
  89.  
  90.             Console.WriteLine();
  91.             Console.WriteLine("PAYMENTS:");
  92.             foreach (Employee emp in list)
  93.             {
  94.                 Console.WriteLine(emp.Name + " - $ " + emp.Payment().ToString("F2", CultureInfo.InvariantCulture));
  95.             }
  96.         }
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement