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

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

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

В чём собственно вопрос,не знаю как отсортировать их по оценки 2.Я их уже сортирую по курсу,переопределив компаратор и я не знаю,что делать,отсортировать их ещё раз?Только как?Я думал во время инициализации самого свойства

Mas

,но т.к. я в итоге работаю с массивом студентов,не вышло. Потом думал написать ф-цию сортировки в главном методе,но чёт подумал,что 2 сортировке,эт странно. Вооот,нужен совет
class Program
    {
        private static void Main()
        {
             // Читаем из файла
            string[] allLines = File.ReadAllLines("input.txt");
            // Преобразуем в массив студентов
            Student[] students = new Student[allLines.Length];
            for (int index = 0; index < allLines.Length; index++)
            {
                string line = allLines[index];
                string[] fields = line.Split(';');
                Student student = new Student(fields[0], fields[1], Convert.ToInt32(fields[2]),fields[3]);
                students[index] = student;
            }
            //Сортируем
            Array.Sort(students);
            // Выводим данные
            foreach (Student student in students)
            {
                Console.WriteLine(student);
                Console.WriteLine();
            }
            // Преобразуем в удобный для записи вид
            string[] linesToSave = new string[students.Length];
            for (int i = 0; i < students.Length; i++)
            {
                Student student = students[i];
                linesToSave[i] = student.ToString();
            }
            // Сохраняем в файл
            File.WriteAllLines("output.txt", linesToSave);
        }       
    }

    public struct Student : IComparable<Student>
    {
        public int CompareTo(Student obj)
        {
            if (Course > obj.Course)
                return 1;
            if (Course < obj.Course)
                return -1;
            else return 0;
        }
 
        public Student(string surname, string fac, int course, string mas)
            : this()
        {
            Surname = surname;
            Fac = fac;
            Course = course;
            Mas = mas;
        }
 
        // Фамилия
        public string Surname { get; private set; }
        // Факультет
        public string Fac { get; private set; }
        // Курс
        public int Course { get; private set; }
        // Оценки
        public string Mas { get ; private set; }

        public override string ToString()
        {
            return string.Format("{0}; {1}; {2}; {3}",
                                 Surname, Fac, Course, Mas);
        }
    }

Решение задачи: «Вывести в новый файл информацию о тех студентах, которые имеют хотя бы одну двойку»

textual
Листинг программы
if (students[i].Mas.Contains("2")) //....вывод

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


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

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

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