Создание структуры Aeroflot - C#
Формулировка задачи:
Помогите, пожалуйста с заданием( не могу справиться
Описать структуру с именем AEROFLOT, содержащую следующие поля:
название пункта назначения рейса;
номер рейса;
тип самолета.
Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT;
записи должны быть упорядочены по возрастанию номера рейса;
вывод на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры;
если таких рейсов нет, выдать на дисплей соответствующее сообщение
Заранее благодарна за помощь!
Решение задачи: «Создание структуры Aeroflot»
textual
Листинг программы
struct AeroFlot
{
public string Name;
public int Number;
public string Type;
public AeroFlot(string name, int number, string type)
{
this.Name = name;
this.Number = number;
this.Type = type;
}
public List<AeroFlot> Input()
{
List<AeroFlot> mas = new List<AeroFlot>();
for (int i = 1; i <= 7; i++)
{
Console.WriteLine(string.Format("'Пункт назначения', '№ рейса', 'Тип самолета' {0}-го рейса через пробел:", i));
string[] buf = Console.ReadLine().Split();
mas.Add(new AeroFlot { Name = buf[0], Number = Convert.ToInt32(buf[1]), Type = buf[2] });
}
return mas;
}
public List<AeroFlot> Sort(List<AeroFlot> arr)
{
return arr.OrderBy(x => x.Number).ToList<AeroFlot>();
}
public void OutPut(List<AeroFlot> arr)
{
foreach(var elem in arr)
{
Console.WriteLine(elem.Name + " " + elem.Number + " " + elem.Type);
}
}
public void Search(string name, List<AeroFlot> arr)
{
var mas = arr.Where(x => x.Name == name).Select((n, t) => new { Number = n, Type = t }).ToList();
if (mas.Count != 0)
{
foreach(var elem in mas)
{
Console.WriteLine(elem.Number + " " + elem.Type);
}
}
else
{
Console.WriteLine("Таких рейсов нет");
}
}
}
class Program
{
static void Main(string[] args)
{
AeroFlot obj = new AeroFlot();
List<AeroFlot> list = obj.Sort(obj.Input());
Console.WriteLine("Расписание рейсов:");
obj.OutPut(list);
Console.Write("Введите название рейса для поиска:");
obj.Search(Console.ReadLine(), list);
Console.ReadKey();
}
}