Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- //важня хуйня чтоб мы могли юзать вложенные классы из AirplaneCrew
- using static PracticingPolygon.Program.AirplaneCrew;
- namespace PracticingPolygon
- {
- internal class Program
- {
- public class AirplaneCrew
- {
- public class Airplane
- {
- public string Name { get; private set; }
- public string Model { get; private set; }
- public int TankСapacity { get; private set; }
- public int LoadCapacity { get; private set; }
- public Airplane(string Name, string Model, int TankСapacity, int LoadCapacity)
- {
- this.Name = Name;
- this.Model = Model;
- this.TankСapacity = TankСapacity;
- this.LoadCapacity = LoadCapacity;
- }
- public void GetСharacteristics()
- {
- Console.WriteLine($"[!] Информация о самолете {Name} [!] \n\n" +
- $"Модель: {Model} \n" +
- $"Ёмкость бака: {TankСapacity} литров \n" +
- $"Грузо-подъёмность: {LoadCapacity} тон \n");
- }
- }
- public class AirlineCompany
- {
- public string Name { get; private set; }
- public int FoundationYear { get; private set; }
- public string ShortHistory { get; private set; }
- public AirlineCompany(string Name, int FoundationYear, string ShortHistory)
- {
- this.Name = Name;
- this.FoundationYear = FoundationYear;
- this.ShortHistory = ShortHistory;
- }
- public AirlineCompany(string Name, int FoundationYear)
- {
- this.Name = Name;
- this.FoundationYear = FoundationYear;
- }
- public void GetInfo()
- {
- Console.WriteLine($"[!] Информация о авиакомпании самолета [!] \n\n" +
- $"Название авиакомпании: {Name} \n" +
- $"Год основания: {FoundationYear} \n");
- if(ShortHistory != null)
- Console.WriteLine($"Краткая история авиакомпании: {ShortHistory} \n");
- }
- }
- public abstract class AirplaneCrewMember
- {
- public string Name { get; set; }
- public byte Seniority { get; set; }
- public byte Age { get; set; }
- public abstract string JobTitle { get; set; }
- public AirplaneCrewMember(string Name, byte Seniority, byte Age)
- {
- this.Name = Name;
- this.Seniority = Seniority;
- this.Age = Age;
- }
- public void GetInfo()
- {
- Console.WriteLine($"[!] Информация о члене экипажа: {JobTitle} [!]\n" +
- $"Имя: {Name} \n" +
- $"Стаж: {Seniority} лет \n" +
- $"Возраст: {Age} лет \n");
- }
- }
- public class Commander : AirplaneCrewMember
- {
- public override string JobTitle { get; set; } = "Командир";
- public Commander(string Name, byte Seniority, byte Age) : base(Name, Seniority, Age) { }
- }
- public class CoPilot : AirplaneCrewMember
- {
- public override string JobTitle { get; set; } = "Второй пилот";
- public CoPilot(string Name, byte Seniority, byte Age) : base(Name, Seniority, Age) { }
- }
- public class Navigator : AirplaneCrewMember
- {
- public override string JobTitle { get; set; } = "Штурман";
- public Navigator(string Name, byte Seniority, byte Age) : base(Name, Seniority, Age) { }
- }
- public class Steward : AirplaneCrewMember
- {
- public override string JobTitle { get; set; } = "Стюардесса";
- public Steward(string Name, byte Seniority, byte Age) : base(Name, Seniority, Age) { }
- }
- public class Passanger
- {
- public string Name { get; private set; }
- public byte Age { get; private set; }
- public string Destination { get; private set; }
- public Passanger(string Name, byte Age, string Destination)
- {
- this.Name = Name;
- this.Age = Age;
- this.Destination = Destination;
- }
- public static void GetInfoAboutPassengers(List<Passanger> passangers)
- {
- Console.WriteLine("[!] Информация о пассажирах в самолете [!] \n");
- int count = 0;
- foreach (Passanger passanger in passangers)
- {
- Console.WriteLine($"[№{count+1}] Имя: {passanger.Name}, " +
- $"{passanger.Age} лет," +
- $"место назначения: {passanger.Destination} \n");
- count++;
- }
- }
- }
- public AirlineCompany _AirlineCompany { get; private set; }
- public Airplane _Airplane { get; private set; }
- public Commander _Commander { get; private set; }
- public CoPilot _CoPilot { get; private set; }
- public Navigator _Navigator { get; private set; }
- public Steward _Steward { get; private set; }
- public List<Passanger> _Passengers { get; private set; } = new List<Passanger>(10);
- public AirplaneCrew(AirlineCompany AirlineCompany, Airplane Airplane,
- Commander Commander, CoPilot CoPilot, Navigator Navigator,
- Steward Steward, List<Passanger> Passengers)
- {
- _AirlineCompany = AirlineCompany;
- _Airplane = Airplane;
- _Commander = Commander;
- _CoPilot = CoPilot;
- _Navigator = Navigator;
- _Steward = Steward;
- _Passengers = Passengers;
- }
- public void GetAirlineCompanyData()
- {
- _AirlineCompany.GetInfo();
- }
- public void GetAirplaneData()
- {
- _Airplane.GetСharacteristics();
- }
- public void GetAirplaneCrewMembersData()
- {
- Console.WriteLine($"[!] Информация о членах экипажа [!] \n\n");
- _Commander.GetInfo();
- _CoPilot.GetInfo();
- _Navigator.GetInfo();
- _Steward.GetInfo();
- }
- public void GetPassengersData()
- {
- Passanger.GetInfoAboutPassengers(_Passengers);
- }
- }
- static void Main(string[] args)
- {
- AirplaneCrew airplaneCrew = new AirplaneCrew(
- AirlineCompany: new AirlineCompany(
- Name:"Авиакомпания Авиасейлс",
- FoundationYear: 1989,
- ShortHistory: "История типо компании"
- ),
- Airplane: new Airplane(
- Name: "Уничтожитель",
- Model: "Боинг 33",
- TankСapacity: 34,
- LoadCapacity: 55
- ),
- Commander: new Commander(
- Name: "Семенов Даниил Фёдорович",
- Seniority: 22,
- Age: 55
- ),
- CoPilot: new CoPilot(
- Name: "Быков Роберт Иванович",
- Seniority: 10,
- Age: 32
- ),
- Navigator: new Navigator(
- Name: "Николаев Артур Никитич",
- Seniority: 11,
- Age: 36
- ),
- Steward: new Steward(
- Name: "Родионова Анастасия Григорьевна",
- Seniority: 3,
- Age: 25
- ),
- Passengers: new List<Passanger>()
- {
- new Passanger(
- Name: "Трофимов Тимофей Вячеславович",
- Age: 22,
- Destination: "Фареры"
- ),
- new Passanger(
- Name: "Воробьев Артём Ильич",
- Age: 34,
- Destination: "Сьерра-Леоне"
- ),
- new Passanger(
- Name: "Яшина Виктория Львовна",
- Age: 25,
- Destination: "Фареры"
- ),
- new Passanger(
- Name: "Герасимов Ярослав Леонидович",
- Age: 19,
- Destination: "Аргентина"
- ),
- new Passanger(
- Name: "Григорьев Даниил Родионович",
- Age: 21,
- Destination: "Аргентина"
- ),
- new Passanger(
- Name: "Попова Василиса Артёмовна",
- Age: 36,
- Destination: "Фареры"
- ),
- new Passanger(
- Name: "Романова Карина Данииловна",
- Age: 57,
- Destination: "Таиланд"
- ),
- new Passanger(
- Name: "Егорова Елизавета Артёмовна",
- Age: 19,
- Destination: "Бурунди"
- ),
- new Passanger(
- Name: "Усова Эмилия Павловна",
- Age: 46,
- Destination: "Аргентина"
- ),
- new Passanger(
- Name: "Коновалов Ярослав Святославович",
- Age: 28,
- Destination: "Фареры"
- )
- }
- );
- int choise = -1;
- Console.WriteLine($"[Оператор] Управление самолетом {airplaneCrew._Airplane.Name}\n");
- while (choise!=0)
- {
- Console.WriteLine("[?]Что вы хотите сделать [?] \n\n" +
- "[0] Выход из меню управления самолетом\n" +
- "[1] Информация о членах экипажа \n" +
- "[2] Информация о пассажирах \n" +
- "[3] Информация о авиакомпании \n" +
- "[4] Информация о технической части самолета \n\n");
- Console.Write("[Оператор] Я хочу: ");
- choise = int.Parse(Console.ReadLine());
- Console.WriteLine();
- switch (choise)
- {
- case 0:
- break;
- case 1:
- airplaneCrew.GetAirplaneCrewMembersData();
- break;
- case 2:
- airplaneCrew.GetPassengersData();
- break;
- case 3:
- airplaneCrew.GetAirlineCompanyData();
- break;
- case 4:
- airplaneCrew.GetAirplaneData();
- break;
- }
- if (choise == 0)
- break;
- Console.Write("\nНажмите на любую клавишу..");
- Console.ReadLine();
- Console.Clear();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment