Работа с коллекциями. Программа учета выполнения распоряжений руководства на предприятии - C#

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

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

Написать программу учета выполнения распоряжений руководства на предприятии. При выполнении задания необходимо его помечать как выполненное, при невыполнении в указанную дату, требуется помечать на какую дату было перенесено его выполнение.

Решение задачи: «Работа с коллекциями. Программа учета выполнения распоряжений руководства на предприятии»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication37
  8. {
  9.     struct Orders
  10.     {
  11.         public DateTime dateStart;//Время начала выполнения распоряжения
  12.         public DateTime dateFinish;//Время окончания выполнения распоряжения
  13.         public string nameofOrder;//Распоряжение
  14.         public TimeSpan duration;//Время выполнения распоряжения
  15.         public Orders(DateTime dateStart, DateTime dateFinish, string nameofOrder, TimeSpan duration)
  16.         {
  17.             this.dateStart = dateStart;
  18.             this.dateFinish = dateFinish;
  19.             this.nameofOrder = nameofOrder;
  20.             this.duration = duration;
  21.         }
  22.         public void Print()
  23.         {
  24.             Console.WriteLine("Время начала выполнения распоряжения: {0}", dateStart);
  25.             Console.WriteLine("Время окончания выполнения распоряжения: {0}", dateFinish);
  26.             Console.WriteLine("Распоряжение: {0}", nameofOrder);
  27.             Console.WriteLine("Время выполнения распоряжения: {0}", duration);
  28.             Console.WriteLine();
  29.         }
  30.     }
  31.     class Program
  32.     {
  33.         static void Main()
  34.         {
  35.             DateTime dateStart;
  36.             DateTime dateFinish;
  37.             string nameofOrder;
  38.             TimeSpan duration;
  39.             int counter;
  40.             List<Orders> list = new List<Orders>();
  41.             while (true)
  42.             {
  43.                 Console.WriteLine();
  44.                 Console.WriteLine("Введите номер от 1 до 5: \n1) Для добавления распоряжения\n2) Для просмотра хода выполнения распоряжения и временного промежутка\n3) Для удаления информации\n4) Для редактирования информации\n5) Выход из программы");
  45.                 int command = Convert.ToInt32(Console.ReadLine());
  46.                 switch (command)
  47.                 {
  48.                     case 1:
  49.                     Console.WriteLine();
  50.                     Console.Write("Введите распоряжение: ");
  51.                     nameofOrder = Console.ReadLine();
  52.                     Console.Write("Введите время начала выполнения распоряжения (в формате HH:MM DD-MM-YYYY): ");
  53.                     dateStart = DateTime.Parse(Console.ReadLine());
  54.                     Console.Write("Введите время окончания выполнения распоряжения (в формате HH:MM DD-MM-YYYY): ");
  55.                     dateFinish = DateTime.Parse(Console.ReadLine());                        
  56.                     duration = dateFinish - dateStart;
  57.                     list.Add(new Orders(dateStart, dateFinish, nameofOrder, duration));
  58.                     break;
  59.  
  60.                         case 2:
  61.                         Console.WriteLine();
  62.                         foreach (Orders elem in list)
  63.                         {
  64.                             if (DateTime.Now > elem.dateFinish)
  65.                             {
  66.                                 Console.WriteLine();
  67.                                 Console.WriteLine("Распоряжение {0} вышло за рамки исполнения", elem.nameofOrder);
  68.                             }  
  69.                             else Console.WriteLine("Распоряжение {0} еще выполняется", elem.nameofOrder);                        
  70.                             if (DateTime.Now == elem.dateFinish)
  71.                             {
  72.                               Console.WriteLine();
  73.                               Console.WriteLine("Распоряжение {0} выполнено в срок", elem.nameofOrder);
  74.                             }                          
  75.                         }  
  76.                         break;
  77.  
  78.                     case 3:
  79.                      {
  80.                          Console.WriteLine();
  81.                          Console.Write("Введите распоряжение, информацию о котором Вы хотите удалить:");
  82.                          string newNumberOrder = Console.ReadLine();
  83.                          counter = 0;
  84.                          foreach (Orders elem in list)
  85.                          {
  86.                              if (elem.nameofOrder == newNumberOrder)
  87.                              {
  88.                                  list.RemoveAt(counter);
  89.                                  Console.WriteLine("Информация о распоряжении '{0}' удалена", newNumberOrder);
  90.                                  break;
  91.                              }
  92.                              counter++;
  93.                          }
  94.                          break;
  95.                      }
  96.                             case 4:
  97.                             Console.WriteLine();
  98.                             Console.Write("Введите распоряжение, информацию о котором Вы хотите изменить:");
  99.                             string orderNumber = Console.ReadLine();
  100.                             counter = 0;
  101.                             foreach (Orders elem in list)
  102.                             {
  103.                               if (elem.nameofOrder == orderNumber)
  104.                               {
  105.                                 Console.WriteLine();
  106.                                 elem.Print();
  107.                                 nameofOrder = elem.nameofOrder;
  108.                                 Console.Write("Введите новое время начала выполнения распоряжения (в формате HH:MM DD-MM-YYYY): ");
  109.                                 dateStart = DateTime.Parse(Console.ReadLine());
  110.                                 Console.Write("Введите новое время окончания выполнения распоряжения (в формате HH:MM DD-MM-YYYY): ");
  111.                                 dateFinish = DateTime.Parse(Console.ReadLine());                                                          
  112.                                 duration = dateFinish - dateStart;
  113.                                 list[counter] = new Orders(dateStart, dateFinish, nameofOrder, duration);
  114.                                 break;
  115.                                }
  116.                           counter++;
  117.                         }
  118.                         break;
  119.                         case 5:
  120.                         Environment.Exit(0);
  121.                         break;
  122.                         default:
  123.                         Console.WriteLine();
  124.                         Console.WriteLine("Введенное число неверно. Повторите попытку\nВыберите пункт от 1 до 5");
  125.                         break;
  126.                 }
  127.             }
  128.         }
  129.     }
  130. }

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


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

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

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

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

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

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