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

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

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

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

Mas

,но т.к. я в итоге работаю с массивом студентов,не вышло. Потом думал написать ф-цию сортировки в главном методе,но чёт подумал,что 2 сортировке,эт странно. Вооот,нужен совет
Листинг программы
  1. class Program
  2. {
  3. private static void Main()
  4. {
  5. // Читаем из файла
  6. string[] allLines = File.ReadAllLines("input.txt");
  7. // Преобразуем в массив студентов
  8. Student[] students = new Student[allLines.Length];
  9. for (int index = 0; index < allLines.Length; index++)
  10. {
  11. string line = allLines[index];
  12. string[] fields = line.Split(';');
  13. Student student = new Student(fields[0], fields[1], Convert.ToInt32(fields[2]),fields[3]);
  14. students[index] = student;
  15. }
  16. //Сортируем
  17. Array.Sort(students);
  18. // Выводим данные
  19. foreach (Student student in students)
  20. {
  21. Console.WriteLine(student);
  22. Console.WriteLine();
  23. }
  24. // Преобразуем в удобный для записи вид
  25. string[] linesToSave = new string[students.Length];
  26. for (int i = 0; i < students.Length; i++)
  27. {
  28. Student student = students[i];
  29. linesToSave[i] = student.ToString();
  30. }
  31. // Сохраняем в файл
  32. File.WriteAllLines("output.txt", linesToSave);
  33. }
  34. }
  35.  
  36. public struct Student : IComparable<Student>
  37. {
  38. public int CompareTo(Student obj)
  39. {
  40. if (Course > obj.Course)
  41. return 1;
  42. if (Course < obj.Course)
  43. return -1;
  44. else return 0;
  45. }
  46. public Student(string surname, string fac, int course, string mas)
  47. : this()
  48. {
  49. Surname = surname;
  50. Fac = fac;
  51. Course = course;
  52. Mas = mas;
  53. }
  54. // Фамилия
  55. public string Surname { get; private set; }
  56. // Факультет
  57. public string Fac { get; private set; }
  58. // Курс
  59. public int Course { get; private set; }
  60. // Оценки
  61. public string Mas { get ; private set; }
  62.  
  63. public override string ToString()
  64. {
  65. return string.Format("{0}; {1}; {2}; {3}",
  66. Surname, Fac, Course, Mas);
  67. }
  68. }

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

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

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


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

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

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы