Вывести в новый файл информацию о тех студентах, которые имеют хотя бы одну двойку - 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")) //....вывод
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д