added lab6 (without comments yet :3)
This commit is contained in:
parent
8548f7c734
commit
4ce763a535
|
@ -0,0 +1,124 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Formats.Asn1;
|
||||||
|
|
||||||
|
// Визначити ієрархію рухомого складу залізничного транспорту.Створити пасажирський потяг.Порахувати загальну чисельність пасажирів і багажу в потязі.
|
||||||
|
// Провести сортування вагонів потягу за рівнем комфортності. Знайти вагон в потязі, що відповідає заданому діапазону кількості пасажирів.
|
||||||
|
|
||||||
|
|
||||||
|
class Lab6
|
||||||
|
{
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
// Create a list of Wagons
|
||||||
|
List<Wagons> wagons = new List<Wagons>();
|
||||||
|
|
||||||
|
// Add some wagons to the list
|
||||||
|
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 100, 100, "Вищий", 10));
|
||||||
|
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 50, 48, "Середнiй", 20));
|
||||||
|
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 20, 15, "Низький", 30));
|
||||||
|
wagons.Add(new Wagons.FreightWagons("Вантажний", 10, 10));
|
||||||
|
wagons.Add(new Wagons.FreightWagons("Вантажний", 20, 20));
|
||||||
|
wagons.Add(new Wagons.FreightWagons("Вантажний", 30, 30));
|
||||||
|
|
||||||
|
// Display the list of wagons
|
||||||
|
Console.WriteLine("Усi вагони:");
|
||||||
|
|
||||||
|
foreach (Wagons wagon in wagons)
|
||||||
|
{
|
||||||
|
Console.WriteLine(wagon.GetType() + ": " + wagon.GetPassengers() + " пасажирiв(-а), " + wagon.GetBaggage() +
|
||||||
|
" валiз/контейнерiв, " + wagon.GetComfort() + ", " + wagon.GetAmount() + ";");
|
||||||
|
}
|
||||||
|
|
||||||
|
int amountOfPassangers = 0;
|
||||||
|
foreach (Wagons p in wagons)
|
||||||
|
{
|
||||||
|
amountOfPassangers += p.GetPassengers();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Array.Sort(wagons, Comparer<Wagons>.Create((x, y) => x.GetComfort.CompareTo(y.GetComfort())));
|
||||||
|
|
||||||
|
var sorted = wagons.OrderByDescending(ob => ob.GetComfort()).ToArray();
|
||||||
|
|
||||||
|
Console.WriteLine("\nКiлькiсть пасажирiв у пасажирському вагонi: " + amountOfPassangers + ";");
|
||||||
|
Console.WriteLine("\nВеддiть мiнiмальну кiлькiсть пасажирiв: ");
|
||||||
|
var minPassangers = Convert.ToInt32(Console.ReadLine());
|
||||||
|
Console.WriteLine("Веддiть максимальну кiлькiсть пасажирiв: ");
|
||||||
|
var maxPassangers = Convert.ToInt32(Console.ReadLine());
|
||||||
|
foreach (Wagons t in wagons)
|
||||||
|
{
|
||||||
|
if (t.GetPassengers() != null && t.GetPassengers() >= minPassangers && t.GetPassengers() <= maxPassangers)
|
||||||
|
{
|
||||||
|
Console.Write(t.GetType() + " - " + t.GetPassengers()+"; ");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw (new InvalidOperationException("Немає такого вагону;"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Wagons
|
||||||
|
{
|
||||||
|
private string type; // тип вагону
|
||||||
|
private int passengers; // кількість пасажирів
|
||||||
|
private int baggage; // кількість багажу в тоннах
|
||||||
|
private string comfort; // рейтиг комфорту вагону
|
||||||
|
private int amount; // кількість вагонів
|
||||||
|
|
||||||
|
public Wagons(string type, int? passengers, int? baggage, string comfort, int amount)
|
||||||
|
{
|
||||||
|
this.type = type;
|
||||||
|
this.passengers = Convert.ToInt32(passengers);
|
||||||
|
this.baggage = Convert.ToInt32(baggage);
|
||||||
|
this.comfort = comfort;
|
||||||
|
this.amount = amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetType()
|
||||||
|
{
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetPassengers()
|
||||||
|
{
|
||||||
|
return passengers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int? GetBaggage()
|
||||||
|
{
|
||||||
|
return baggage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetComfort()
|
||||||
|
{
|
||||||
|
return comfort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetAmount()
|
||||||
|
{
|
||||||
|
return amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
// підклас Пасажирський вагон
|
||||||
|
public class PassengerWagons : Wagons
|
||||||
|
{
|
||||||
|
public PassengerWagons(string type, int passengers, int baggage, string comfort, int amount) : base(type,
|
||||||
|
passengers, baggage, comfort, amount)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// підклас Вантажний вагон
|
||||||
|
public class FreightWagons : Wagons
|
||||||
|
{
|
||||||
|
public FreightWagons(string type, int baggage, int amount) : base(type, null, baggage, null, amount)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue