Работа со строками из файла - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Помогите пожалуйста с курсовой работой.
В исходном файле записан лог использования терминалов. В каждой строке записаны (через пробел) имя пользователя, время (год, месяц, день, часы, минуты, секунды) входа и выхода из системы. В результирующий файл выводится информация о поль- зователе и времени (часы минуты секунды) в заданный день, отсортированная по времени входа.
Данные в таком формате
Листинг программы
  1. User1 2017 05 30 23 41 12 2017 05 30 23 51 12
  2. User2 2017 05 30 12 31 12 2017 05 30 14 31 12
  3. User3 2017 05 30 22 41 12 2017 05 30 23 41 12

Решение задачи: «Работа со строками из файла»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Drawing;
  8. using System.Text.RegularExpressions;
  9. using System.Globalization;
  10.  
  11. namespace ConsoleApplication5
  12. {
  13.     class Log
  14.     {
  15.         public string Name { get; set; }
  16.         public DateTime LogOn { get; set; }
  17.         public DateTime LogOff { get; set; }
  18.         public Log(string str)
  19.         {
  20.             var parts = str.Split();
  21.             Name = parts[0];
  22.             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]));
  23.             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]));
  24.         }
  25.     }
  26.     class Program
  27.     {
  28.  
  29.         static void Main(string[] args)
  30.         {
  31.             Console.WriteLine("input date:yyyy,mm,dd");
  32.             var date = Console.ReadLine();
  33.             var log = File.ReadAllLines(@"c:\c#\in.txt");
  34.             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();
  35.             File.WriteAllLines(@"c:\c#\out.txt", result);
  36.             Console.ReadKey(true);
  37.         }
  38.     }
  39. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы