Работа со строками из файла - C#
Формулировка задачи:
Добрый вечер. Помогите пожалуйста с курсовой работой.
Данные в таком формате
В исходном файле записан лог использования терминалов. В каждой строке записаны
(через пробел) имя пользователя, время (год, месяц, день, часы, минуты, секунды)
входа и выхода из системы. В результирующий файл выводится информация о поль-
зователе и времени (часы минуты секунды) в заданный день, отсортированная по
времени входа.
User1 2017 05 30 23 41 12 2017 05 30 23 51 12 User2 2017 05 30 12 31 12 2017 05 30 14 31 12 User3 2017 05 30 22 41 12 2017 05 30 23 41 12
Решение задачи: «Работа со строками из файла»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using System.Drawing; using System.Text.RegularExpressions; using System.Globalization; namespace ConsoleApplication5 { class Log { public string Name { get; set; } public DateTime LogOn { get; set; } public DateTime LogOff { get; set; } public Log(string str) { var parts = str.Split(); Name = parts[0]; LogOn = new DateTime(int.Parse(parts[1]), int.Parse(parts[2]), int.Parse(parts[3]), int.Parse(parts[4]), int.Parse(parts[5]), int.Parse(parts[6])); LogOff = new DateTime(int.Parse(parts[7]), int.Parse(parts[8]), int.Parse(parts[9]), int.Parse(parts[10]), int.Parse(parts[11]), int.Parse(parts[12])); } } class Program { static void Main(string[] args) { Console.WriteLine("input date:yyyy,mm,dd"); var date = Console.ReadLine(); var log = File.ReadAllLines(@"c:\c#\in.txt"); var result = log.Select(x => new Log(x)).Where(x=>x.LogOn.Date == DateTime.Parse(date)).OrderBy(x=>x.LogOn).Select(x=>x.Name +" " + (x.LogOff - x.LogOn)).ToList(); File.WriteAllLines(@"c:\c#\out.txt", result); Console.ReadKey(true); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д