Ребят, помогите плз в написании некоторых частей псевдокода...
PHP код:
[Serializable]//атрибут, означающий что объекты структуры можно сериализовать
static void CreateFile(List<Train> list)//агрумент - список поездов
{
try
{
BinaryFormatter formater = new BinaryFormatter();//форматер для сериализации
FileStream fs = new FileStream(@"D:\testData", FileMode.Create);//поток для записи
formater.Serialize(fs, list);//сериализация объекта
fs.Close();//закрываем поток
}
catch (Exception ex)
{
Console.WriteLine("Ошибка: " + ex.Message);
}
}
static List<Train> GetListOfTrains()
{
try
{
BinaryFormatter formater = new BinaryFormatter();
FileStream fs = new FileStream(@"D:\testData", FileMode.Open);
List<Train> list = (List<Train>)formater.Deserialize(fs);//десериализация объекта
fs.Close();
return list;
}
catch (Exception ex)
{
Console.WriteLine("Ошибка: " + ex.Message);
return null;
}
}
static List<short> GetNumbersOfTrains(List<Train> list)//Функция поиска имеющихся поездов
{
List<short> numbers = new List<short>();
foreach (Train t in list)
{
if (!numbers.Contains(t.number)) numbers.Add(t.number);
}
return numbers;
}
static void Main(string[] args)
{
List<Train> list = CreateListOfTrains();
CreateFile(list);//запишем все в файл
try
{
List<Train> listOfTrains = GetListOfTrains();//Получаем из файла данные
Console.WriteLine("Введите номер поезда:");
List<short> numbers = GetNumbersOfTrains(listOfTrains);//номера поездов
Console.WriteLine("Доступные номера поездов: ");
foreach (short s in numbers)
Console.Write(s+" ");
Console.WriteLine();
//читаем номер поезда
int n = Convert.ToInt32(Console.ReadLine());
//находим поезд с таким номером
bool isExist = false;//существует ли поезд с таким номером
Train trainWithNumberN = new Train();//поезд с введенным номером N
foreach (Train tr in listOfTrains)
{
if (tr.number == n)//Такой поезд есть
{
isExist = true;
trainWithNumberN = tr;
break;
}
}
if (isExist)
{
//вывод информации об искомом поеде
Console.WriteLine("Поезд с искомым номером {0}:\nПункт отправления {1}\nПункт назначения {2}\nВремя пути {3}\nКол-во вагонов {4}\n",
trainWithNumberN.number, trainWithNumberN.from, trainWithNumberN.to, trainWithNumberN.time, trainWithNumberN.vagonsCount);
//вывод информации о поездах, следующих туда же
foreach (Train tr in listOfTrains)
{
if (tr.number != trainWithNumberN.number && tr.to == trainWithNumberN.to)//Такой поезд есть
{
Console.WriteLine("Поезд с номером {0}:\nПункт отправления {1}\nПункт назначения {2}\nВремя пути {3}\nКол-во вагонов {4}",
tr.number, tr.from, tr.to, tr.time, tr.vagonsCount);
}
}
}
else Console.WriteLine("Поезда с таким номером нет!!!");
}
catch (Exception ex)
{
Console.WriteLine("Ошибка: " + ex.Message);
}
Console.ReadLine();
}
}
}
всё...проблема решена!