Программа для ввода и вывода фамилий и оценок студентов - C#

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

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

Создайте программу для ввода и вывода фамилий и оценок студентов. Введите не менее 10 студентов. Отсортируйте данные студентов: по первой оценке (по убыванию); Текстовый файл data.txt создать в блокноте, например, Иванов;Иван;4;5;4 Петров;Иван;4;5;3 Сидоров;Иван;3;3;4 Для чтения из файла можно использовать фрагмент
Листинг программы
  1. StreamReader fin = new StreamReader(“data.txt”, Encoding.Default);
  2. while (!fin.EndOfStream)
  3. {
  4. char[] sep = {';'};
  5. string st2 = fin.ReadLine(); // чтение строки из файла
  6. if (st2.Length > 1) // Если строка не пуста
  7. {
  8. string[] pole = st2.Split(sep);// разделяем ее на поля, отделенные ";"
  9. // присвоение элементов массива pole полям массива структур
  10. // с преобразованием некоторых строк и числа
  11. i++;
  12. }
  13. }

Решение задачи: «Программа для ввода и вывода фамилий и оценок студентов»

textual
Листинг программы
  1. class Program
  2.     {
  3.         struct Student
  4.         {
  5.             public string firstName;
  6.             public string lastName;
  7.             public int mark1;
  8.             public int mark2;
  9.             public int mark3;
  10.  
  11.             public override string ToString()
  12.             {
  13.                 StringBuilder returnString = new StringBuilder();
  14.                 returnString.Append("Фамилия: " + lastName + '\n');
  15.                 returnString.Append("Имя: " + firstName + '\n');
  16.                 returnString.Append("Оценки\nПервая: " + mark1 + "\nВторая: " + mark2 + "\nТретья: " + mark3);
  17.  
  18.                 return returnString.ToString();
  19.             }
  20.         }
  21.  
  22.         static int stringCount()
  23.         {
  24.             StreamReader fin = new StreamReader("data.txt", Encoding.Default);
  25.  
  26.             int i = 0;
  27.             while (!fin.EndOfStream)
  28.             {
  29.                 fin.ReadLine();
  30.                 i++;
  31.             }
  32.             return i;
  33.         }
  34.         static void readFromFile(ref Student[] st)
  35.         {
  36.             StreamReader fin = new StreamReader("data.txt", Encoding.Default);
  37.  
  38.             int i = 0;
  39.             while (!fin.EndOfStream)
  40.             {
  41.                 char[] sep = { ';' };
  42.                 string st2 = fin.ReadLine(); // чтение строки из файла
  43.                 if (st2.Length > 1) // Если строка не пуста
  44.                 {
  45.                     string[] pole = st2.Split(sep);// разделяем ее на поля, отделенные ";"
  46.  
  47.                     // присвоение элементов массива pole полям массива структур
  48.                     st[i].lastName = pole[0];
  49.                     st[i].firstName = pole[1];
  50.  
  51.                     // с преобразованием некоторых строк и числа
  52.                     st[i].mark1 = int.Parse(pole[2]);
  53.                     st[i].mark2 = int.Parse(pole[3]);
  54.                     st[i].mark3 = int.Parse(pole[4]);
  55.  
  56.                     i++;
  57.                 }
  58.             }
  59.         }
  60.         static void sort(ref Student[] st)
  61.         {
  62.             for (int i = 0; i < st.Length; i++)
  63.             {
  64.                 for (int j = 0; j < st.Length - i - 1; j++)
  65.                 {
  66.                     if (st[j].mark1 < st[j + 1].mark1)
  67.                     {
  68.                         Student temp = st[j];
  69.                         st[j] = st[j + 1];
  70.                         st[j + 1] = temp;
  71.                     }
  72.                 }
  73.             }
  74.         }
  75.         static void Main(string[] args)
  76.         {
  77.             Student[] st = new Student[stringCount()];
  78.             readFromFile(ref st);
  79.             sort(ref st);
  80.             for (int i = 0; i < st.Length; i++)
  81.                 Console.WriteLine(st[i].ToString() + "\n==================");
  82.         }
  83.     }

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


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

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

15   голосов , оценка 3.733 из 5

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

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

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