Обьясните как это работает ? - C#
Формулировка задачи:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class Program
{
public struct AEROFLOT
{
public string destination;
public int number;
public string typeOfAircraft;
}
static void Main(string[] args)
{
AEROFLOT[] masAERO = new AEROFLOT[5];
for (int i = 0; i < masAERO.Length; i++)
{
Console.WriteLine("Введите данные по {0}-ому рейсу:", i + 1);
Console.Write("Пункт назначения:");
masAERO[i].destination = Console.ReadLine();
Console.Write("Номер рейса:");
masAERO[i].number = Convert.ToInt32(Console.ReadLine());
Console.Write("Тип самолёта:");
masAERO[i].typeOfAircraft = Console.ReadLine();
}
masAERO = masAERO.OrderBy(x => x.destination).ToArray(); // записи должны быть размещены в алфавитном порядке по названиям пунктов назначения
string tp = "";
bool had = false;
do
{
Console.Write("\nВведите тип самолёта=");
tp = Console.ReadLine();
Console.WriteLine("\nДанные по рейсам, обслуживаемых самолётом типа: {0}", tp);
for (int i = 0; i < masAERO.Length; i++)
{
if (tp == masAERO[i].typeOfAircraft)
{
Console.WriteLine("Пункт назначения: {0}", masAERO[i].destination);
Console.WriteLine("Номер рейса: {0}", masAERO[i].number);
had = true;
}
}
if (!had)
{
Console.WriteLine("Не существует рейсов, обслуживаемых типом самолёта: {0}", tp);
}
had = false;
}
while (Console.ReadLine() != "n");
}
}Решение задачи: «Обьясните как это работает ?»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class Program
{
public struct AEROFLOT
{
public string destination;
public int number;
public string typeOfAircraft;
}
static void Main(string[] args)
{
//Создание массива структур Aeroflot
AEROFLOT[] masAERO = new AEROFLOT[5];
//Ввод данных в массив
for (int i = 0; i < masAERO.Length; i++)
{
Console.WriteLine("Введите данные по {0}-ому рейсу:", i + 1);
Console.Write("Пункт назначения:");
masAERO[i].destination = Console.ReadLine();
Console.Write("Номер рейса:");
masAERO[i].number = Convert.ToInt32(Console.ReadLine());
Console.Write("Тип самолёта:");
masAERO[i].typeOfAircraft = Console.ReadLine();
}
//Сортировка массива по возрастанию по полю destination
masAERO = masAERO.OrderBy(x => x.destination).ToArray(); // записи должны быть размещены в алфавитном порядке по названиям пунктов назначения
string tp = "";
bool had = false;
do
{
Console.Write("\nВведите тип самолёта=");
tp = Console.ReadLine();//Тип самолёта, введённый пользователем
Console.WriteLine("\nДанные по рейсам, обслуживаемых самолётом типа: {0}", tp);
//поиск рейсов, обслуживаемых данным типом самолёта
for (int i = 0; i < masAERO.Length; i++)
{
//Если в массиве есть самолёта с указанным типом
if (tp == masAERO[i].typeOfAircraft)
{
//Выводим об этом сообщение
Console.WriteLine("Пункт назначения: {0}", masAERO[i].destination);
Console.WriteLine("Номер рейса: {0}", masAERO[i].number);
had = true;//Флаг, что самолёт найден
}
}
//Если самолёт не был найден
if (!had)
{
Console.WriteLine("Не существует рейсов, обслуживаемых типом самолёта: {0}", tp);
}
had = false;
}
//Продолжаем запрашивать тип самолёта, пока пользователь не введёт букву n
while (Console.ReadLine() != "n");
}
}