Сортировать список студентов из файла - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д