Приветствую всех, сегодня решаем задачу со следующим условием:
Создать базовый класс Plain (самолет), содержащий поля: тип самолета, количество пассажиров. Создать производный класс Flight(рейс), содержащий дополнительные поля: номер рейса, названия пункта назначения. Описать методы для вывода на экран сведения об объекте, получения и установки значений некоторых полей. Организовать вывод на экран сведений из массива обо всех самолетах, вылетающих в пункт назначения, введенный с клавиатуры(если таких самолетов нет, то вывести соответствующее сообщение).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp7
{
class Plain
{
string type_of_aircraft;
int quantity;
public Plain() // конструктор по умолчанию
{
this.type_of_aircraft = "Airbus";
this.quantity = 0;
}
public Plain(string type_of_aircraft, int quantity)
{
this.type_of_aircraft = type_of_aircraft;
this.quantity = quantity;
}
public Plain(object p)
{
}
virtual public void Show()// метод для вывода информации на экран
{
Console.WriteLine("Тип самолета: \n" + this.type_of_aircraft);
Console.WriteLine("Пассажиры: \n" + this.quantity);
}
public string Type
{
get
{
return type_of_aircraft;
}
set
{
type_of_aircraft = value;
}
}
public int Quantity
{
get
{
return quantity;
}
set
{
quantity = value;
}
}
}
class Flight : Plain // производный класс
{
int flight_number; // номер рейса
string destination; // пункт назначения
public Flight(int flight_number, string destination, string type_of_aircraft, int quantity)
: base(type_of_aircraft, quantity) // конструктор для рейса
{
this.flight_number = flight_number;
this.destination = destination;
}
override public void Show() // метод для вывода информации на экран
{
base.Show();
Console.WriteLine("Номер рейса:" + flight_number);
Console.WriteLine("Пункт назначения: " + destination);
}
public int Flight_Number
{
get
{
return flight_number;
}
set
{
flight_number = value;
}
}
public string Destination
{
get
{
return destination;
}
set
{
destination = value;
}
}
}
class Program
{
static void Main(string[] args)
{
Random random = new Random();
const int n = 3;
Plain[] plains = new Plain[n];
int Fnumber, Quty; // номер рейса, кол-во пассажиров
string Dest; //пункт назначения
string Type; // тип самолета
for (int i = 0; i < n; i++)
{
Console.WriteLine("Название самолета: ");
Type = Console.ReadLine();
Console.WriteLine("Введите пункт назначения: ");
Dest = Console.ReadLine();
Console.WriteLine("Введите номер рейса: ");
Fnumber = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите кол-во пассажиров: ");
Quty = Convert.ToInt32(Console.ReadLine());
Plain p = new Flight(Fnumber, Dest, Type, Quty);
plains[i] = p;
Console.WriteLine("-------------------------------------------------------");
}
for (int i = 0; i < n; i++) //цикл для выведения конечного результата
{
plains[i].Show();
}
Console.WriteLine("Enter desired destination");
string Dest1 = Console.ReadLine();
bool flag = true;
for (int i = 0; i < plains.Length; i++)
{
if (Dest1 == ((Flight) plains[i]).Destination)
{
plains[i].Show();
flag = false;
}
}
if (flag)
Console.WriteLine("No matches found");
Console.ReadKey();
}
}
}