Описать структуру с именем TRAIN - C# (201354)
Формулировка задачи:
Описать структуру с именем TRAIN, содержащую следующие поля:
- название пункта назначения;
- номер поезда;
- время отправления.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN
(записи должны быть упорядочены по номерам поездов);
- вывод на экран информации о поезде, номер которого введен с клавиатуры
(если таких поездов нет, вывести соответствующее сообщение).
Решение задачи: «Описать структуру с именем TRAIN»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
public struct Train:IComparable
{
string name;
public int number;
DateTime date;
public Train(string name,int number,DateTime date)
{
this.name = name;
this.number = number;
this.date = date;
}
public string CompareTo(object obj)
{
Train a = (Train)obj;
if (this.name.CompareTo(a.name) == -1) return -1;
if (this.name.CompareTo(a.name) == 0) return 0;
else return 1;
}
public override string ToString()
{
return String.Format("Название пункта назначения "+this.name+" \nНомер поезда "+number+" \nВремя отправления"+date);
}
}
class Program
{
static void Main()
{
ArrayList nL = new ArrayList();
for (int i = 0,k=8; i < 8; i++)
{
nL.Add(new Train("name"+i.ToString(),k,DateTime.Now));
k--;
}
foreach (Train c in nL)
{
Console.WriteLine(c.ToString());
}
Console.WriteLine("\nСортируем по номеру");
nL.Sort(); //сортируем по алфавиту
foreach (Train c in nL)
{
Console.WriteLine(c.ToString());
}
string str;
bool b = true;
int count = 0;
while (b)
{
Console.WriteLine("\n\nВведите номер поезда для поиска");
str = Console.ReadLine();
for (int i = 0; i < str.Length; i++)
{
if (char.IsDigit(str[i]) && (Convert.ToInt32(str[i])<=8 || Convert.ToInt32(str[i])>=0)) count++;
}
if (count == str.Length)
{
foreach (Train c in nL)
{
if (str == c.number.ToString()) Console.WriteLine(c.ToString());
}
b = false;
}
else Console.WriteLine("Повторите попытку");
}
Console.ReadLine();
}
}
}