Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Po_Kol_MarekMichaluk
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. Prom prom = new Prom(1000);
  14. prom.ZaladujychPojazd(new Osobowy(200, "XD"));
  15. prom.ZaladujychPojazd(new Osobowy(300, "XF"));
  16. prom.ZaladujychPojazd(new Ciezarowka(500, "XC"));
  17. //prom.ZaladujychPojazd(new Ciezarowka(500, "XZ"));
  18. }
  19. }
  20. abstract class Pojazd
  21. {
  22. public double masa;
  23. public string nazwa;
  24.  
  25. protected Pojazd(double masa, string nazwa)
  26. {
  27. this.masa = masa;
  28. this.nazwa = nazwa;
  29. }
  30. }
  31. class Ciezarowka : Pojazd
  32. {
  33. public Ciezarowka(double masa, string nazwa) : base(masa, nazwa)
  34. {
  35. }
  36. }
  37. class Osobowy : Pojazd
  38. {
  39. public Osobowy(double masa, string nazwa) : base(masa, nazwa)
  40. {
  41. }
  42. }
  43.  
  44. class Prom
  45. {
  46. private double ladownosc;
  47. private double masaPojazdow;
  48. private List<Pojazd> pojazdy;
  49. private bool zaladowany;
  50.  
  51. public Prom(double ladownosc)
  52. {
  53. this.ladownosc = ladownosc;
  54. this.masaPojazdow = 0;
  55. this.pojazdy = new List<Pojazd>();
  56. this.zaladowany = false;
  57. }
  58.  
  59. public double MasaZaladowanychPojazdow()
  60. {
  61. return 0;
  62.  
  63. }
  64. public void ZaladujychPojazd(Pojazd p)
  65. {
  66. try
  67. {
  68. if (this.masaPojazdow + p.masa > this.ladownosc)
  69. throw new WyczerpnanaLadownosc();
  70. this.pojazdy.Add(p);
  71. this.masaPojazdow += p.masa;
  72. this.zaladowany = true;
  73. }
  74. catch (WyczerpnanaLadownosc e)
  75. {
  76. throw new Exception("Przepełnione", e);
  77. }
  78. }
  79. public void WyladujPojazd(Pojazd p)
  80. {
  81. this.pojazdy.Remove(p);
  82. this.masaPojazdow -= p.masa;
  83. }
  84. public class WyczerpnanaLadownosc : Exception
  85. {
  86. public WyczerpnanaLadownosc()
  87. {
  88. }
  89.  
  90. public WyczerpnanaLadownosc(string message)
  91. : base(message)
  92. {
  93. }
  94.  
  95. public WyczerpnanaLadownosc(string message, Exception inner)
  96. : base(message, inner)
  97. {
  98. }
  99. }
  100.  
  101. }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement