Распечатать данные о студентах из файла - C#
Формулировка задачи:
помогите написать программу заранее спасибо..
9. Дан файл, содержащий информацию о студентах: фамилия, имя, отчество, номер группы, оценки по трем предметам текущей сессии. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все данные о студентах, успешно сдавших сессию, потом данные об остальных студентах, сохраняя исходный порядок в каждой группе сотрудников.
Решение задачи: «Распечатать данные о студентах из файла»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { List<Student> data = new List<Student>(); System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\file.txt"); string line = null; while((line = sr.ReadLine()) != null) { string[] splitLines = line.Split(' '); data.Add(new Student() { LastName = splitLines[0], Name = splitLines[1], MiddleName = splitLines[2], GroupNumber = Int32.Parse(splitLines[3]), Marks = new List<int>(){ Int32.Parse(splitLines[4]), Int32.Parse(splitLines[5]), Int32.Parse(splitLines[6]) } }); } var query = from d in data let x = d.Marks.Sum() orderby x descending select d; foreach(var student in query) { Console.WriteLine("{0} {1} {2} {3} {4}", student.LastName, student.Name, student.MiddleName, student.GroupNumber, student.Marks.ToStringExt()); } Console.ReadLine(); } } class Student { //фамилия, имя, отчество, номер группы, оценки по трем предметам текущей сессии public string LastName { get; set; } public string Name { get; set; } public string MiddleName { get; set; } public int GroupNumber { get; set; } public List<int> Marks { get; set; } } static class Extensions { public static string ToStringExt(this List<int> m) { string str = null; foreach(var s in m) { str += s + " "; } return str; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д