Вывести в новый файл информацию о тех студентах, которые имеют хотя бы одну двойку - 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")) //....вывод