Advertisement
Guest User

kodzik

a guest
May 23rd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.78 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.IO;
  8.  
  9. namespace lab4
  10. {
  11. class Program
  12. {
  13. delegate void del(String b);
  14.  
  15. public abstract class Pracownik
  16. {
  17. public virtual void OpisPracownika()
  18. {
  19. }
  20.  
  21. public Hashtable bonus = new Hashtable();
  22.  
  23. public int etat;
  24. public string stanowisko;
  25.  
  26. public void ObliczUrlop(int etat)
  27. {
  28. int urlop = 0;
  29. urlop = etat / 30;
  30.  
  31. Console.WriteLine("Osoba dostanie: " + urlop + " dni na urlop");
  32. }
  33.  
  34. public abstract void ObliczPlace(string stanowisko, int etat);
  35. }
  36.  
  37. public class PracownikAdministracyjny : Pracownik
  38. {
  39. public PracownikAdministracyjny(string imie, string nazwisko)
  40. {
  41. }
  42.  
  43. public override void ObliczPlace(string stanowisko, int etat)
  44. {
  45. bonus.Add("manager", 100);
  46. bonus.Add("ksiegowa", 50);
  47. int wyplata = etat * 12;
  48. ICollection klucz = bonus.Keys;
  49.  
  50. foreach (string key in klucz)
  51. {
  52. if (key == stanowisko)
  53. wyplata += Convert.ToInt32(bonus[key]);
  54. }
  55. Console.WriteLine("Pracownik otrzymuje: " + wyplata);
  56. }
  57. }
  58.  
  59. public class PracownikFizyczny : Pracownik
  60. {
  61. public PracownikFizyczny(string imie, string nazwisko)
  62. {
  63. }
  64. public override void OpisPracownika()
  65. {
  66. base.OpisPracownika();
  67. }
  68. public override void ObliczPlace(string stanowisko, int etat)
  69. {
  70. bonus.Add("sprzataczka", 20);
  71. int wyplata = etat * 12;
  72. ICollection klucz = bonus.Keys;
  73.  
  74. foreach (string key in klucz)
  75. {
  76. if (key == stanowisko)
  77. wyplata += Convert.ToInt32(bonus[key]);
  78.  
  79. }
  80. Console.WriteLine("Pracownik zarabia: " + wyplata);
  81. }
  82. }
  83.  
  84. static void Main(string[] args)
  85. {
  86. Program progrm = new Program();
  87.  
  88. List<Pracownik> p = new List<Pracownik>();
  89.  
  90. PracownikAdministracyjny osoba1 = new PracownikAdministracyjny("Jakub", "Goc");
  91.  
  92. Console.WriteLine("Pracownik Jakub Goc wpisany recznie: ");
  93. osoba1.ObliczPlace("manager", 600);
  94.  
  95. PracownikAdministracyjny osoba2 = new PracownikAdministracyjny("Arkadiusz", "Trombowski");
  96.  
  97. Console.WriteLine("Czy chcesz dodac pracownika?");
  98. Console.WriteLine("tak/nie");
  99.  
  100. string dodaj = Console.ReadLine();
  101. if (dodaj == "tak")
  102. {
  103. Console.WriteLine("PA(Pracownik Administracyjny) czy PF(Pracownik Fizyczny) "); //aby dzialalo nalezy wybierajac wpisac PA lub PF
  104. dodaj = Console.ReadLine();
  105. if (dodaj == "PA")
  106. {
  107. Console.WriteLine("Imie -> enter, nazwisko ->enter, stanowisko(manager, ksiegowa)->, etat [h] -> enter");
  108. PracownikAdministracyjny osoba4 = new PracownikAdministracyjny(Console.ReadLine(), Console.ReadLine());
  109. osoba4.stanowisko = Console.ReadLine();
  110. osoba4.etat = Convert.ToInt32(Console.ReadLine());
  111. osoba4.ObliczPlace(osoba4.stanowisko, osoba4.etat);
  112. }
  113. else
  114. {
  115. Console.WriteLine("Imie -> enter, nazwisko ->enter, stanowisko( sprzataczka)->, etat [h] -> enter");
  116. PracownikAdministracyjny osoba4 = new PracownikAdministracyjny(Console.ReadLine(), Console.ReadLine());
  117. osoba4.stanowisko = Console.ReadLine();
  118. osoba4.etat = Convert.ToInt32(Console.ReadLine());
  119. osoba4.ObliczUrlop(osoba4.etat);
  120. }
  121.  
  122. p.Add(osoba1);
  123. p.Add(osoba2);
  124.  
  125. }
  126. else
  127. {
  128. Console.WriteLine("Zamykanie programu...");
  129. }
  130. //marne proby delegat
  131. /*
  132. del d = p.ObliczPlace;
  133. for (int i = 1; i < 4; i++)
  134. {
  135. if (i % 2 == 0)
  136. {
  137. d = p.ObliczPlace;
  138. }
  139. else
  140. {
  141. d = b.ObliczUrlop;
  142. }
  143. }*/
  144.  
  145. Console.ReadKey();
  146. }
  147. }
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement