Создать двоичный файл, содержащий записи следующей структуры для хранения информации об авиарейсе - C#
Формулировка задачи:
Создать двоичный файл, содержащий записи следующей структуры для хранения информации об авиарейсе:
Название пункта назначения рейса
Номер рейса
Тип самолета
Время в пути
Для заданного типа самолета и времени в пути - все номера рейсов и пункты назначения, для которых время в пути превышает заданное. Перечислением задать пункты назначения.
Вот всё, что пока написала, дальше не знаю как помогите пожалуйста доделать))):
namespace ConsoleApplication10
{
class Program
{
enum Nazna4enie : byte
{
Moskow = 0,
Piter = 1,
Minsk = 2
}
struct Samolet
{
public int Nomer;
public string Type;
public int Vremya;
public void Write(BinaryWriter Samolet)
{
Samolet.Write(Nomer);
Samolet.Write(Type);
Samolet.Write(Vremya);
}
public void Read(BinaryReader Samolet)
{
Nomer = Samolet.ReadInt32();
Type = Samolet.ReadString();
Vremya = Samolet.ReadInt32();
}
}
static void Main(string[] args)
{
BinaryWriter stream = new BinaryWriter(File.Create("test.bin"));
Samolet sam;
for (int i = 0; i < 2; i++)
{
string stroka;
Console.WriteLine("Введите строчку");
stroka = Convert.ToString(Console.ReadLine());
char razdel = ' ';
string[] mas1 = stroka.Split(razdel);
sam.Nomer = Convert.ToInt32(mas1[1]);
sam.Type = mas1[0];
sam.Vremya = Convert.ToInt32(mas1[2]);
stream.Write(sam.Nomer);
stream.Write(sam.Type);
stream.Write(sam.Vremya);
sam.Write(stream);
}
stream.Close();
BinaryReader stream2 = new BinaryReader(File.Open("test.bin", FileMode.Open));
for (int i = 0; i < 2; i++)
{
sam.Nomer = 1;
sam.Type = "";
sam.Vremya = 1;
sam.Read(stream2);
}
}
}
}
Ну что поможет кто нибудь мне?
Решение задачи: «Создать двоичный файл, содержащий записи следующей структуры для хранения информации об авиарейсе»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace Oksana_C
{
class Program
{
static void Main(string[] args)
{
List<Fly> list = new List<Fly>(){new Fly(1,"One",10,PointOfD.Minsk),
new Fly(2,"Two",20,PointOfD.Moscow),
new Fly(3,"Three",25,PointOfD.St_Petersberg),
new Fly(4,"Four",23,PointOfD.Minsk)};
//Вывод данных структуры с временем в пути >20
foreach (Fly f in list)
{
if (f.TimeToFly > 20)
Console.WriteLine(f.ToString());
}
Console.Read();
}
//Метод для записи в файл
static void WriteData()
{
Fly F1 = new Fly(125, "My Fly", 2200, PointOfD.Moscow);
FileStream fs = new FileStream(@"C:\123.bin", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(F1.FlyNumber);
bw.Write(F1.FlyType);
bw.Write(F1.pd);
bw.Write(F1.TimeToFly);
bw.Close();
fs.Close();
}
//Метод для чтения из файла
static void ReadData()
{
FileStream fs = new FileStream(@"C:\123.bin", FileMode.Open);
BinaryReader br = new BinaryReader(fs);
int Number = br.ReadInt32();
string Type = br.ReadString();
string PointOD = br.ReadString();
int TimeTo = br.ReadInt32();
br.Close();
fs.Close();
}
}
enum PointOfD:byte
{
Moscow=0,
St_Petersberg=1,
Minsk=2
}
struct Fly
{
public int FlyNumber { get; private set; }
public string FlyType { get; private set; }
public int TimeToFly { get; private set; }
public string pd { get; private set; }
public Fly(int FN, string FT, int TTF,PointOfD PoD):this()
{
FlyNumber = FN;
FlyType = FT;
TimeToFly = TTF;
pd = PoD.ToString();
}
public override string ToString()
{
return string.Format("Номер рейса: {0},тип самолета: {1}, время в пути: {2}, пункт назначения: {3}",
FlyNumber, FlyType, TimeToFly, pd);
}
}
}