Массив с записью в файл - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Помогите, пожалуйста, решить: Требуется создать класс Cinema, в нем определить поля: количество мест, количество рядов, порядковый номер кинотеатра. В программе нужно создать массив кинотеатров со случайными параметрами (при этом рядов в каждом кинотеатре должно быть меньше, чем мест), отсортировать его с помощью методов класса Array по убыванию количества мест. Затем записать массив в текстовый файл в кодировке Unicode, расположенный в папке “data” текущей рабочей директории.

Решение задачи: «Массив с записью в файл»

textual
Листинг программы
using System;
using System.IO;
 
namespace CinemaNetwork
{
    class Program
    {
        static void Main(string[] args)
        {
            int numberOfCinemas = 10;
            Cinema c = new Cinema();
            Cinema[] cinemasList = Cinema.GetCinemas(numberOfCinemas);
            Comparison<Cinema> comprassion = (a, b) => { return a.NumberIfSeats == b.NumberIfSeats ? 0 : a.NumberIfSeats > b.NumberIfSeats ? -1 : 1; };
            Array.Sort(cinemasList, comprassion);
 
            Cinema.WriteToFile(cinemasList);
            foreach(Cinema cinema in cinemasList)
                Console.WriteLine(cinema.ToString());
            
            Console.ReadLine();
        }
 
 
    }
 
 
    
    class Cinema
    {
        public int ID { get; set; }
        public int NumberIfSeats { get; set; }
        public int NumberOfRows { get; set; }
 
        public static Cinema[] GetCinemas(int numberOfCinemas)
        {
            Random random = new Random();
            Cinema[] cinemasList = new Cinema[numberOfCinemas];
            for (int i = 0; i < numberOfCinemas; i++)
            {
                cinemasList[i] = new Cinema();
                cinemasList[i].ID = i + 1;
                cinemasList[i].NumberOfRows = random.Next(6, 12);
                cinemasList[i].NumberIfSeats = cinemasList[i].NumberOfRows * random.Next(6, 10);
            }
            return cinemasList;
        }
 
        public static void WriteToFile(Cinema[] cinemasList)
        {
            using (StreamWriter sw = new StreamWriter(new FileStream("data.txt", FileMode.OpenOrCreate, FileAccess.Write)))
            {
                foreach (Cinema cinema in cinemasList)
                    sw.WriteLine(cinema.ToString());
            }
        }
 
        public override string ToString()
        {
            return string.Format("Cinema #{0}, NumberIfSeats: {1}, NumberOfRows: {2}",
                    this.ID, this.NumberIfSeats, this.NumberOfRows);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы