Описать структуру с именем TRAIN - C# (187046)
Формулировка задачи:
Ребят, помогите, пожалуйста, довести код до ума. Задание:
Описать структуру с именем TRAIN, содержащую следующие поля:
- название пункта назначения;
- номер поезда;
- время отправления.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN
(записи должны быть упорядочены по номерам поездов);
- вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры
(если таких поездов нет, вывести соответствующее сообщение).
Вот мои наработки. Не работает конкретно поиск информации о поездах.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace @struct
{
struct TRAIN
{
public string Punkt_nazn;
public int Number_poezda;
public DateTime time;
public TRAIN(string Punkt_nazn, int Number_poezda, DateTime time)
{
this.Punkt_nazn = Punkt_nazn;
this.Number_poezda = Number_poezda;
this.time = time;
}
public void Write_poezd()
{
Console.WriteLine("Название пункта назначения: {0}, Номер поезда: {1}, Время отправления: ", Punkt_nazn, Number_poezda, time);
}
}
class Program
{
static void Main(string[] args)
{
TRAIN [] main_poezd = new TRAIN[6];
for (int i = 0; i < main_poezd.Count(); i++)
{
Console.WriteLine("Введите название пункта назначения: ");
main_poezd[i].Punkt_nazn = Convert.ToString(Console.ReadLine());
Console.WriteLine("Введите номер поезда: ");
main_poezd[i].Number_poezda = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите дату отправления: ");
main_poezd[i].time = Convert.ToDateTime(Console.ReadLine());
}
string str;
bool b = true;
int count = 0;
while (b)
{
Console.WriteLine("Введите название пункта назначения для поиска");
str = Console.ReadLine();
for (int i = 0; i < str.Length; i++)
{
if (char.IsDigit(str[i]) && (Convert.ToInt32(str[i])<=6 || Convert.ToInt32(str[i])>=0)) count++;
}
if (count == str.Length)
{
foreach (TRAIN c in main_poezd)
{
if (str == c.Punkt_nazn.ToString()) Console.WriteLine(c.ToString());
}
b = false;
}
else Console.WriteLine("Повторите попытку");
}
Console.ReadLine();
}
}
}Решение задачи: «Описать структуру с именем TRAIN»
textual
Листинг программы
using System;
namespace @struct
{
struct Train
{
public string Destination;
public int Number;
public DateTime Departure;
public Train(string destination, int number, DateTime departure)
{
this.Destination = destination;
this.Number = number;
this.Departure = departure;
}
public override string ToString()
{
return string.Format("Пункт назначения: {0}, № поезда: {1}, Отправление: {2}", Destination, Number, Departure);
}
}
class Program
{
static void Main(string[] args)
{
Train[] trains = new Train[6];
for (int i = 0; i < trains.Length; i++)
{
Console.WriteLine("Введите название пункта назначения: ");
string destination = Console.ReadLine();
Console.WriteLine("Введите номер поезда: ");
int number = int.Parse(Console.ReadLine());
Console.WriteLine("Введите дату отправления: ");
DateTime departure = DateTime.Parse(Console.ReadLine());
trains[i] = new Train(destination, number, departure);
}
Console.WriteLine("Введите название пункта назначения для поиска или end для выхода");
string input;
while ((input = Console.ReadLine()) != "end")
{
bool trainFound = false;
for (int i = 0; i < trains.Length; i++)
{
if (trains[i].Destination == input)
{
Console.WriteLine(trains[i]);
trainFound = true;
}
}
if (!trainFound)
Console.WriteLine("Ничего не найдено. Повторите попытку");
}
}
}
}