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