Описать структуру с именем Аэрофлот - C#
Формулировка задачи:
Описать структуру с именем AER0FL0T, содержащую следующие поля:
• название пункта назначения рейса;
• номер рейса;
• тип самолета.
Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из семи элементов типа AER0FL0T (записи должны быть размещены в алфавитном порядке по названиям пунктов назначения);
• вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры (если таких рейсов нет, вывести соответствующее сообщение).
Я пол ночи просидел...завтра сдавать нужно, иначе только ловить препода в следующем семестре или вообще на след.курсе(Помогите пожалуйста, по человечески
Решение задачи: «Описать структуру с именем Аэрофлот»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
AEROFLOT[] array = new AEROFLOT[7];
string tpStr = string.Empty;
for (int i = 0; i < 7; i++)
{
Console.WriteLine("Vvedite dannie AEROFOLTa nomer {0}", i + 1);
array[i] = new AEROFLOT();
Console.Write("Vvedite punkt naznacheniya: ");
array[i].PunktNaznacheniya = Console.ReadLine();
Console.Write("Vvedite nomer reysa: ");
array[i].NomerReysa = Convert.ToInt32(Console.ReadLine());
Console.Write("Vvedite tip samolyota: ");
tpStr = Console.ReadLine();
switch (tpStr)
{
case "gr":
array[i].TipSamolyota = TipiSamolyotov.Gruzovoy;
break;
case "ps":
array[i].TipSamolyota = TipiSamolyotov.Pasajirskiy;
break;
case "vn":
array[i].TipSamolyota = TipiSamolyotov.Voenniy;
break;
}
}
Array.Sort(array);
Console.Write("Vvedite iskomiy tip: ");
tpStr = Console.ReadLine();
TipiSamolyotov enType = TipiSamolyotov.Gruzovoy;
switch (tpStr)
{
case "gr":
enType = TipiSamolyotov.Gruzovoy;
break;
case "ps":
enType = TipiSamolyotov.Pasajirskiy;
break;
case "vn":
enType = TipiSamolyotov.Voenniy;
break;
}
foreach (AEROFLOT af in array)
{
if (af.TipSamolyota == enType)
{
Console.WriteLine(af.PunktNaznacheniya + ", " + af.NomerReysa);
}
}
}
}
public enum TipiSamolyotov
{
Gruzovoy, Pasajirskiy, Voenniy
}
public struct AEROFLOT : IComparable<AEROFLOT>
{
public string PunktNaznacheniya
{
get;
set;
}
public int NomerReysa
{
get;
set;
}
public TipiSamolyotov TipSamolyota
{
get;
set;
}
public int CompareTo(AEROFLOT other)
{
return PunktNaznacheniya.CompareTo(other.PunktNaznacheniya);
}
}
}