Сортировать список студентов из файла - C#
Формулировка задачи:
Список студенческой группы записан на диске как текстовый файл. Каждая строка списка содержит фамилию студента и три экзаменационные оценки, причем список никак не упорядочен. Составить программу, которая корректирует список и сортирует его либо по среднему баллу, либо по алфавиту, либо по оценкам, либо по заданному предмету.
Список записывается в файл либо под старым, либо под новым именем.
Решение задачи: «Сортировать список студентов из файла»
textual
Листинг программы
- static void Main(string[] args)
- {
- string NonSortPath = "list.txt";
- string SortPath = "list2.txt";
- string[] list = File.ReadAllLines(NonSortPath, Encoding.Default);
- List<Student> students = new List<Student>();
- List<string> temp = new List<string>();
- foreach (var str in list)
- {
- temp.AddRange(str.Split(' '));
- students.Add(new Student {
- lastname = temp[0],
- one = Convert.ToInt32(temp[1]),
- two = Convert.ToInt32(temp[2]),
- trh = Convert.ToInt32(temp[3]),
- Score = (Convert.ToInt32(temp[1]) + Convert.ToInt32(temp[2]) + Convert.ToInt32(temp[3]))/3 });
- temp.Clear();
- }
- Console.WriteLine("Выберите способ сортировки:\n 1-по Алфавиту,\n 2 - По среднему баллу,\n 3 - По предмету");
- int vibor = int.Parse(Console.ReadLine());
- var st = students.OrderBy(i => i.lastname);
- switch (vibor)
- {
- case 1:
- st = students.OrderBy(i => i.lastname);
- break;
- case 2:
- st = students.OrderBy(i => i.Score);
- break;
- case 3:
- st = students.OrderBy(i => i.one);
- break;
- default:
- st = students.OrderBy(i => i.lastname);
- break;
- }
- foreach (var item in st)
- {
- Console.WriteLine("{0}\t{1} {2} {3} Средний балл - {4}", item.lastname, item.one, item.two, item.trh, item.Score);
- File.AppendAllText(SortPath, String.Format("{0}\t{1} {2} {3} Средний балл - {4}\n", item.lastname, item.one, item.two, item.trh, item.Score));
- }
- // File.AppendAllLines(SortPath, st.Select(i=> new { i.lastname, i.one, i.two, i.trh, i.Score }.ToString()));
- Console.ReadKey();
- }
- public class Student
- {
- public string lastname{ get; set; }
- public int one{ get; set; }
- public int two{ get; set; }
- public int trh{ get; set; }
- public int Score { get; set; }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д