Загрузка данных


Вот код на C# для студента-новичка, без комментариев, с меню выбора всех 4 заданий:

```csharp
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

class Program
{
    struct Employee
    {
        public string Name;
        public int Age;
        public double Salary;
    }

    static void Main()
    {
        while (true)
        {
            Console.WriteLine("\nВыберите задание:");
            Console.WriteLine("1 - Массив из 10 чисел");
            Console.WriteLine("2 - Структура сотрудника");
            Console.WriteLine("3 - Массив структур");
            Console.WriteLine("4 - Копирование файла");
            Console.WriteLine("0 - Выход");
            Console.Write("Ваш выбор: ");

            string choice = Console.ReadLine();

            if (choice == "0") break;

            switch (choice)
            {
                case "1":
                    Task1();
                    break;
                case "2":
                    Task2();
                    break;
                case "3":
                    Task3();
                    break;
                case "4":
                    Task4();
                    break;
                default:
                    Console.WriteLine("Неверный выбор!");
                    break;
            }
        }
    }

    static void Task1()
    {
        string file = "numbers.bin";
        int[] numbers = new int[10];

        for (int i = 0; i < 10; i++)
        {
            numbers[i] = i + 1;
        }

        using (BinaryWriter writer = new BinaryWriter(File.Open(file, FileMode.Create)))
        {
            for (int i = 0; i < numbers.Length; i++)
            {
                writer.Write(numbers[i]);
            }
        }

        int[] readNumbers = new int[10];

        using (BinaryReader reader = new BinaryReader(File.Open(file, FileMode.Open)))
        {
            for (int i = 0; i < readNumbers.Length; i++)
            {
                readNumbers[i] = reader.ReadInt32();
            }
        }

        Console.WriteLine("Прочитанные числа:");
        for (int i = 0; i < readNumbers.Length; i++)
        {
            Console.Write(readNumbers[i] + " ");
        }
        Console.WriteLine();
    }

    static void Task2()
    {
        string file = "employees.bin";
        Employee[] employees = new Employee[3];

        employees[0].Name = "Иван";
        employees[0].Age = 25;
        employees[0].Salary = 50000;

        employees[1].Name = "Мария";
        employees[1].Age = 30;
        employees[1].Salary = 60000;

        employees[2].Name = "Петр";
        employees[2].Age = 35;
        employees[2].Salary = 70000;

        using (BinaryWriter writer = new BinaryWriter(File.Open(file, FileMode.Create)))
        {
            for (int i = 0; i < employees.Length; i++)
            {
                writer.Write(employees[i].Name);
                writer.Write(employees[i].Age);
                writer.Write(employees[i].Salary);
            }
        }

        Employee[] readEmployees = new Employee[3];

        using (BinaryReader reader = new BinaryReader(File.Open(file, FileMode.Open)))
        {
            for (int i = 0; i < readEmployees.Length; i++)
            {
                readEmployees[i].Name = reader.ReadString();
                readEmployees[i].Age = reader.ReadInt32();
                readEmployees[i].Salary = reader.ReadDouble();
            }
        }

        Console.WriteLine("Сотрудники:");
        for (int i = 0; i < readEmployees.Length; i++)
        {
            Console.WriteLine($"Имя: {readEmployees[i].Name}, Возраст: {readEmployees[i].Age}, Зарплата: {readEmployees[i].Salary}");
        }
    }

    static void Task3()
    {
        string file = "array_struct.bin";
        Employee[] employees = new Employee[2];

        employees[0].Name = "Анна";
        employees[0].Age = 28;
        employees[0].Salary = 55000;

        employees[1].Name = "Сергей";
        employees[1].Age = 32;
        employees[1].Salary = 65000;

        using (BinaryWriter writer = new BinaryWriter(File.Open(file, FileMode.Create)))
        {
            writer.Write(employees.Length);
            for (int i = 0; i < employees.Length; i++)
            {
                writer.Write(employees[i].Name);
                writer.Write(employees[i].Age);
                writer.Write(employees[i].Salary);
            }
        }

        Employee[] readEmployees;

        using (BinaryReader reader = new BinaryReader(File.Open(file, FileMode.Open)))
        {
            int count = reader.ReadInt32();
            readEmployees = new Employee[count];

            for (int i = 0; i < count; i++)
            {
                readEmployees[i].Name = reader.ReadString();
                readEmployees[i].Age = reader.ReadInt32();
                readEmployees[i].Salary = reader.ReadDouble();
            }
        }

        Console.WriteLine("Массив структур:");
        for (int i = 0; i < readEmployees.Length; i++)
        {
            Console.WriteLine($"Имя: {readEmployees[i].Name}, Возраст: {readEmployees[i].Age}, Зарплата: {readEmployees[i].Salary}");
        }
    }

    static void Task4()
    {
        string sourceFile = "source.bin";
        string destFile = "copy.bin";

        byte[] data = { 10, 20, 30, 40, 50 };
        using (BinaryWriter writer = new BinaryWriter(File.Open(sourceFile, FileMode.Create)))
        {
            for (int i = 0; i < data.Length; i++)
            {
                writer.Write(data[i]);
            }
        }

        using (FileStream source = new FileStream(sourceFile, FileMode.Open))
        using (FileStream dest = new FileStream(destFile, FileMode.Create))
        {
            byte[] buffer = new byte[1024];
            int bytesRead;

            while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)
            {
                dest.Write(buffer, 0, bytesRead);
            }
        }

        Console.WriteLine($"Файл {sourceFile} скопирован в {destFile}");

        using (BinaryReader reader = new BinaryReader(File.Open(destFile, FileMode.Open)))
        {
            Console.WriteLine("Содержимое скопированного файла:");
            while (reader.BaseStream.Position < reader.BaseStream.Length)
            {
                Console.Write(reader.ReadByte() + " ");
            }
            Console.WriteLine();
        }
    }
}
```