Табель работника: начало рабочего дня и его окончание - C#

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

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

Здравствуйте , нужна помощь. Собственно нужно помочь с программой , которая по вводу id будет фиксировать во сколько пришёл работник, id присвоено к фамилии , при повторном вводе , чтобы фиксировалось , время во сколько работник ушёл и высчитывало время , которое он пробыл на работе. Помогите пожалуйста первый раз за бесплатно!

Решение задачи: «Табель работника: начало рабочего дня и его окончание»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Collections;
  6.  
  7. namespace driv
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             DateTime T1 = new DateTime();
  14.             DateTime T2 = new DateTime();
  15.             List<Worker> WorkerList = new List<Worker>();
  16.             int counter = 0;
  17.  
  18.             do
  19.             {
  20.                 T1 = DateTime.Now;
  21.                 Console.WriteLine("Введите ID пришедшего работника:");
  22.                 string id = Console.ReadLine();
  23.                 counter++;
  24.                 if (id == "Exit")
  25.                     break;
  26.  
  27.                 int ID = int.Parse(id);
  28.                 Worker w = new Worker(T1, T2, ((Employee)ID).ToString(), ID);
  29.                 WorkerList.Add(w);
  30.             }
  31.             while (counter < 4);
  32.  
  33.             int counter_l = WorkerList.Count;
  34.             do
  35.             {
  36.                 T2 = DateTime.Now;
  37.                 Console.WriteLine("Введите ID ушедшего работника:");
  38.                 string id = Console.ReadLine();
  39.                 if (id == "Exit")
  40.                     break;
  41.  
  42.                 int ID = int.Parse(id);
  43.                 Worker w1=null;
  44.                 foreach (Worker w in WorkerList)
  45.                 {
  46.                     if (((Employee)ID).ToString() == w.Name)
  47.                     {
  48.                         w1 = new Worker(w.t1,w.t2,w.Name,w.ID);
  49.                         break;
  50.                     }
  51.                 }
  52.                 w1.t2 = T2;
  53.                 TimeSpan workTime = w1.t2.Subtract(w1.t1);
  54.                 counter_l--;
  55.                 Console.WriteLine("Работник {0} находился на работе {1}",w1.Name, workTime.ToString(@"hh\:mm\:ss"));
  56.             }
  57.             while (counter_l > 0);
  58.  
  59.             Console.Read();
  60.         }
  61.     }
  62.     enum Employee : int
  63.     {
  64.         Иванов=01,
  65.         Петров=02,
  66.         Сидоров=03,
  67.         Васильев=04
  68.     }
  69.     class Worker:IEnumerable
  70.     {
  71.         public DateTime t1 { get; set; }
  72.         public DateTime t2 { get; set; }
  73.         public string Name { get; set; }
  74.         public int ID { get; set; }
  75.  
  76.         public Worker(DateTime T1, DateTime T2, string name, int id)
  77.         {
  78.             t1 = T1;
  79.             t2 = T2;
  80.             Name = name;
  81.             ID = id;
  82.         }
  83.  
  84.         public IEnumerator GetEnumerator()
  85.         {
  86.             return this.GetEnumerator();
  87.         }
  88.     }
  89. }

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


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

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

14   голосов , оценка 4.071 из 5

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

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

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