Описать структуру с именем MARSH - C# (192290)
Формулировка задачи:
Описать структуру с именем MARSH, содержащую следующие поля:
• название начального пункта маршрута;
• название конечного пункта маршрута;
• номер маршрута.
Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARS H
(записи должны быть упорядочены по номерам маршрутов);
• вывод на экран информации о маршруте, номер которого введен с клавиату*
ры (если таких маршрутов нет, вывести соответствующее сообщение).
Консольное приложение
Решение задачи: «Описать структуру с именем MARSH»
textual
Листинг программы
struct MARSH
{
public readonly string nachalniy_punkt_marshryta;
public readonly string konechniy_punkt_marshryta;
public readonly int nomer_marshryta;
public override string ToString()
{
return (string.Format(@"
Начальный пункт назначения: {0}
Конечный пункт назначения: {1}
Номер маршрута: {2}", nachalniy_punkt_marshryta, konechniy_punkt_marshryta, nomer_marshryta));
}
public MARSH(string StartPoint, string FinalPoint, int Number)
{
this.nachalniy_punkt_marshryta = StartPoint;
this.konechniy_punkt_marshryta = FinalPoint;
this.nomer_marshryta = Number;
}
}
class Program
{
private static string InputValue(string message)
{
Console.WriteLine(message);
return Console.ReadLine();
}
static void Main(string[] args)
{
MARSH[] Routes = new MARSH[8];
for (int i = 0; i < Routes.Length; i++)
{
Routes[i] = (new MARSH(InputValue("Введите начальную точку маршрута"), InputValue("Введите конечную точку маршрута"), int.Parse(InputValue("Введите номер маршрута"))));
}
Array.Sort(Routes, new Comparison<MARSH>((x,a)=> a.nomer_marshryta.CompareTo(x.nomer_marshryta)));
// Сортировка массива по убыванию поля Номер Маршрута
Console.WriteLine("\nИнформация в базе:");
Routes.ToList().ForEach(x => Console.WriteLine(x.ToString())); // Вывод всех маршрутов
int CurrentNumber = int.Parse(InputValue("Введите номер маршрута"));
// Цикл ниже смешон просто.
foreach (var Route in Routes)
{
if (Route.nomer_marshryta.Equals(CurrentNumber))
{
Console.WriteLine(Route.ToString());
break;
}
}
Console.ReadKey();
}
}