Составить список студентов группы, используя SortedList - C#

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

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

Решить с помощью SortedList задачу:На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу окончил. Вывести в новый файл информацию о студентах, окончивших заданную школу, отсортировав их по году рождения. Замечания: Во всех задачах данного раздела подразумевается, что исходная информация хранится в текстовом файле input.txt, каждая строка которого содержит полную информацию о некотором объекте, результирующая информация должна быть записана в файл output.txt. Для хранения данных внутри программы организовать массив структур. В типе структура реализуется метод CompareTo интерфейса IComparable, перегружается метод ToString базового класса object и необходимые операции отношения, поля данных и дополнительные методы продумайте самостоятельно.Помогите пожалуйста вообще ничего не понимаю. Спасибо!

Решение задачи: «Составить список студентов группы, используя SortedList»

textual
Листинг программы
using System;
using System.Collections;
using System.IO;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication
{
    internal class Program
    {
        private static void Main()
        {
            Console.Write("Школа: ");
            var school = Console.ReadLine();
 
            var list = new SortedList();
            foreach (var student in File.ReadAllLines("input.txt").Select(CreateStudent)
                                        .Where(student => student.School == school))
                list.Add(student, student);
 
            using (var writer = new StreamWriter("output.txt", false, Encoding.UTF8))
                foreach (DictionaryEntry entry in list)
                    writer.WriteLine(entry.Value);
        }
 
        private static Student CreateStudent(string line)
        {
            var data = line.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries);
            return new Student(data);
        }
    }
 
    internal struct Student : IComparable
    {
        public Student(string[] data) : this()
        {
            Name = data[0];
            DateOfBirth = DateTime.Parse(data[1]);
            HomeAddress = data[2];
            School = data[3];
        }
 
        public string HomeAddress { get; private set; }
        public string Name { get; private set; }
        public string School { get; private set; }
        public DateTime DateOfBirth { get; private set; }
 
        #region IComparable Members
 
        public int CompareTo(object obj)
        {
            var other = (Student)obj;
            return DateOfBirth.CompareTo(other.DateOfBirth);
        }
 
        #endregion
 
        public override string ToString()
        {
            return string.Format("ФИО: {0}, дата рождения: {1}, домашний адрес: {2}, школа: {3}",
                                 Name, DateOfBirth.ToShortDateString(), HomeAddress, School);
        }
    }
}

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


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

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

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