Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.65 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_SlawomirMierzejewski
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Ciezarowki c1 = new Ciezarowki(100, "star");
  14.             Ciezarowki c2 = new Ciezarowki(105, "Iveco");
  15.             Osobowy o1 = new Osobowy(25, "Trabant");
  16.             Osobowy o2 = new Osobowy(21, "Łada");
  17.             Prom p1 = new Prom();
  18.             p1.ZaladujPojazd(c1);
  19.             p1.ZaladujPojazd(c2);
  20.             p1.ZaladujPojazd(o1);
  21.             p1.ZaladujPojazd(o2);
  22.             Console.ReadKey();
  23.  
  24.         }
  25.     }
  26.     abstract class Pojazdy
  27.     {
  28.         public double Masa;
  29.         public string Nazwa;
  30.  
  31.         protected Pojazdy(double masa, string nazwa)
  32.         {
  33.             Masa = masa;
  34.             Nazwa = nazwa;
  35.         }
  36.     }
  37.     class Ciezarowki : Pojazdy
  38.     {
  39.         public Ciezarowki(double masa, string nazwa) : base(masa, nazwa)
  40.         {
  41.         }
  42.     }
  43.     class Osobowy : Pojazdy
  44.     {
  45.         public Osobowy(double masa, string nazwa) : base(masa, nazwa)
  46.         {
  47.         }
  48.     }
  49.     class Prom
  50.     {
  51.         double ladownosc=220;
  52.         double masaPojazdow=0;
  53.         List<Pojazdy> pojazdy = new List<Pojazdy>();
  54.         bool zaladowany;
  55.  
  56.         double MasaZaladowanychPojazdow()
  57.         {
  58.             foreach(var e1 in this.pojazdy)
  59.             {
  60.                 masaPojazdow += e1.Masa;
  61.             }
  62.             return masaPojazdow;
  63.         }
  64.         public void WyladujPojazd(Pojazdy p)
  65.         {
  66.             this.pojazdy.Remove(p);
  67.             this.masaPojazdow = this.masaPojazdow - p.Masa;
  68.             Console.WriteLine("Wyladowano pojazd");
  69.         }
  70.         public void ZaladujPojazd(Pojazdy p)
  71.         {
  72.             try
  73.             {
  74.                 if ((this.ladownosc >= this.masaPojazdow + p.Masa)&&(this.zaladowany==false))
  75.                 {
  76.                     this.pojazdy.Add(p);
  77.                     this.masaPojazdow = this.masaPojazdow + p.Masa;
  78.                     Console.WriteLine("Zaladowano pojazd");
  79.                 }
  80.                 else
  81.                 {
  82.                     throw new WyczerpanieLadownosc();
  83.                 }
  84.             }
  85.             catch(WyczerpanieLadownosc e)
  86.             {
  87.                 this.zaladowany = true;
  88.                 e.WyczerpanaLadownosc("Nie mozna wjechac");
  89.             }
  90.  
  91.         }
  92.  
  93.     }
  94.     class WyczerpanieLadownosc:Exception
  95.     {
  96.         public void WyczerpanaLadownosc(string wiadomosc)
  97.         {
  98.             Console.WriteLine(wiadomosc);
  99.         }
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement