Создание структуры с именем Train - C#
Формулировка задачи:
Помогите с решением данной задачи
Описать структуру с именем TRAIN, содержащую следующие поля:
название пункта назначения;
номер поезда;
время отправления.
Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN;
записи должны быть упорядочены по номерам поездов;
вывод на экран информации о поезде, номер которого введен с клавиатуры;
если таких поездов нет, выдать на дисплей соответствующее сообщение.
Заранее спасибо за помощь!
Решение задачи: «Создание структуры с именем Train»
textual
Листинг программы
using System;
using System.Linq;
namespace SampleConsole
{
static class Program
{
struct Train
{
public string Name;
public int Number;
public string Date;
};
static void Main()
{
const int count = 2;
var park = new Train[count];
for (var i = 0; i < count; i++) park[i] = GetNewTrainFromKeyboard();
var sortedPark = park.OrderBy(t => t.Number).ToArray();
PrintTrains(sortedPark);
while (true)
{
Console.Write("Введите номер поезда: ");
var num = int.Parse(Console.ReadLine());
var trn = park.Where(t => t.Number == num);
if (trn.Count() == 0) Console.WriteLine("Такого поезда нету");
else PrintTrain(trn.Single());
}
}
static Train GetNewTrainFromKeyboard()
{
var name = ReadConsole("Введите пункт назначения");
var date = ReadConsole("Введите дату отправления");
var snum = ReadConsole("Введите номер поезда");
return new Train
{
Name = name,
Date = date,
Number = int.Parse(snum)
};
}
static void PrintTrains(Train[] park)
{
Console.WriteLine("В парке сейчас находятся: ");
foreach (var trn in park)
PrintTrain(trn);
}
static void PrintTrain(Train trn)
{
Console.WriteLine("{0} {1}", trn.Number, trn.Name);
}
static string ReadConsole(string message)
{
Console.Write("{0}: ", message);
return Console.ReadLine();
}
}
}