Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Абстрактный:
- abstract class Transport : IComparable<Transport>
- {
- protected string stamp;//марка
- protected int num;//номер
- protected int speed;//скорость
- public float carry;//грузоподъёмность
- public abstract void Show();
- public abstract void Carrying();
- public int CompareTo(Transport obj)
- {
- if (this.carry > obj.carry)
- return 1;
- if (this.carry < obj.carry)
- return -1;
- else return 0;
- }
- }
- //Легковая машина:
- class Passenger_car : Transport
- {
- public Passenger_car(string stamp,int num,int speed,float carry)
- {
- this.stamp = stamp;
- this.num = num;
- this.speed = speed;
- this.carry = carry;
- }
- public override void Show()
- {
- Console.WriteLine("Марка-{0}\tНомер-{1}\tСкорость-{2}\tГрузоподъёмность-{3}", stamp, num, speed, carry);
- }
- public override void Carrying()
- {
- Console.WriteLine("Грузоподъёмность = {0}",carry);
- }
- }
- //Мотоцикл:
- class Motorcycle : Passenger_car
- {
- public bool lulka;
- public Motorcycle(string stamp, int num, int speed, float carry,bool lulka):base(stamp,num,speed,carry)
- {
- this.lulka = lulka;
- if (this.lulka == false)
- {
- base.carry = 0;
- }
- }
- public override void Show()
- {
- Console.WriteLine("Марка-{0}\tНомер-{1}\tСкорость-{2}\tГрузоподъёмность-{3}\tЕсть люлька?->{4}", stamp, num, speed, carry, lulka);
- }
- public override void Carrying()
- {
- Console.WriteLine("Грузоподъёмность = {0}", carry);
- }
- }
- //Грузовик:
- class Truck : Passenger_car
- {
- protected bool trailer;
- public Truck(string stamp, int num, int speed, float carry,bool trailer):base(stamp, num, speed, carry)
- {
- this.trailer = trailer;
- if (this.trailer == true)
- {
- base.carry = carry * 2;
- }
- }
- public override void Show()
- {
- Console.WriteLine("Марка-{0}\tНомер-{1}\tСкорость-{2}\tГрузоподъёмность-{3}\tЕсть прицеп?->{4}", stamp, num, speed, carry, trailer);
- }
- public override void Carrying()
- {
- Console.WriteLine("Грузоподъёмность = {0}", carry);
- }
- }
- //Главный класс:
- class Program
- {
- static void Main()
- {
- string[] allLines = File.ReadAllLines("Input.txt");
- List<Transport> n = new List<Transport>();
- string line = allLines[0];
- string[] fields = line.Split(' ');
- n.Add(new Motorcycle(fields[0], Convert.ToInt32(fields[1]), Convert.ToInt32(fields[2]), Convert.ToInt32(fields[3]),Convert.ToBoolean(fields[4])));
- line = allLines[1];
- fields = line.Split(' ');
- n.Add(new Truck(fields[0], Convert.ToInt32(fields[1]), Convert.ToInt32(fields[2]), Convert.ToInt32(fields[3]), Convert.ToBoolean(fields[4])));
- line = allLines[2];
- fields = line.Split(' ');
- n.Add(new Passenger_car(fields[0], Convert.ToInt32(fields[1]), Convert.ToInt32(fields[2]), Convert.ToInt32(fields[3])));
- n.Sort();
- foreach (Transport item in n)
- {
- item.Show();
- item.Carrying();
- Console.WriteLine();
- }
- }
- }
- /*
- "Kawasaki" 555 60 100 true/false
- "Kamaz" 666 40 1000 true/false
- "BMW" 777 100 500
- */
Add Comment
Please, Sign In to add comment