mirror of
				https://github.com/ASDjonok/OOP_IO-2x_2023.git
				synced 2025-11-04 00:29:24 +02:00 
			
		
		
		
	added lab6 (without comments yet :3)
This commit is contained in:
		
							parent
							
								
									8548f7c734
								
							
						
					
					
						commit
						4ce763a535
					
				
							
								
								
									
										124
									
								
								Lab6/Lab6/Program.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								Lab6/Lab6/Program.cs
									
									
									
									
									
										Normal file
									
								
							@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user