Описать структуру с именем 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("Ничего не найдено. Повторите попытку"); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д