Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Po_Kol_SlawomirMierzejewski
- {
- class Program
- {
- static void Main(string[] args)
- {
- Ciezarowki c1 = new Ciezarowki(100, "star");
- Ciezarowki c2 = new Ciezarowki(105, "Iveco");
- Osobowy o1 = new Osobowy(25, "Trabant");
- Osobowy o2 = new Osobowy(21, "Łada");
- Prom p1 = new Prom();
- p1.ZaladujPojazd(c1);
- p1.ZaladujPojazd(c2);
- p1.ZaladujPojazd(o1);
- p1.ZaladujPojazd(o2);
- Console.ReadKey();
- }
- }
- abstract class Pojazdy
- {
- public double Masa;
- public string Nazwa;
- protected Pojazdy(double masa, string nazwa)
- {
- Masa = masa;
- Nazwa = nazwa;
- }
- }
- class Ciezarowki : Pojazdy
- {
- public Ciezarowki(double masa, string nazwa) : base(masa, nazwa)
- {
- }
- }
- class Osobowy : Pojazdy
- {
- public Osobowy(double masa, string nazwa) : base(masa, nazwa)
- {
- }
- }
- class Prom
- {
- double ladownosc=220;
- double masaPojazdow=0;
- List<Pojazdy> pojazdy = new List<Pojazdy>();
- bool zaladowany;
- double MasaZaladowanychPojazdow()
- {
- foreach(var e1 in this.pojazdy)
- {
- masaPojazdow += e1.Masa;
- }
- return masaPojazdow;
- }
- public void WyladujPojazd(Pojazdy p)
- {
- this.pojazdy.Remove(p);
- this.masaPojazdow = this.masaPojazdow - p.Masa;
- Console.WriteLine("Wyladowano pojazd");
- }
- public void ZaladujPojazd(Pojazdy p)
- {
- try
- {
- if ((this.ladownosc >= this.masaPojazdow + p.Masa)&&(this.zaladowany==false))
- {
- this.pojazdy.Add(p);
- this.masaPojazdow = this.masaPojazdow + p.Masa;
- Console.WriteLine("Zaladowano pojazd");
- }
- else
- {
- throw new WyczerpanieLadownosc();
- }
- }
- catch(WyczerpanieLadownosc e)
- {
- this.zaladowany = true;
- e.WyczerpanaLadownosc("Nie mozna wjechac");
- }
- }
- }
- class WyczerpanieLadownosc:Exception
- {
- public void WyczerpanaLadownosc(string wiadomosc)
- {
- Console.WriteLine(wiadomosc);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement