Работа с коллекциями. Программа учета выполнения распоряжений руководства на предприятии - C#
Формулировка задачи:
Написать программу учета выполнения распоряжений руководства на предприятии. При выполнении задания необходимо его помечать как выполненное, при невыполнении в указанную дату, требуется помечать на какую дату было перенесено его выполнение.
Решение задачи: «Работа с коллекциями. Программа учета выполнения распоряжений руководства на предприятии»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication37 { struct Orders { public DateTime dateStart;//Время начала выполнения распоряжения public DateTime dateFinish;//Время окончания выполнения распоряжения public string nameofOrder;//Распоряжение public TimeSpan duration;//Время выполнения распоряжения public Orders(DateTime dateStart, DateTime dateFinish, string nameofOrder, TimeSpan duration) { this.dateStart = dateStart; this.dateFinish = dateFinish; this.nameofOrder = nameofOrder; this.duration = duration; } public void Print() { Console.WriteLine("Время начала выполнения распоряжения: {0}", dateStart); Console.WriteLine("Время окончания выполнения распоряжения: {0}", dateFinish); Console.WriteLine("Распоряжение: {0}", nameofOrder); Console.WriteLine("Время выполнения распоряжения: {0}", duration); Console.WriteLine(); } } class Program { static void Main() { DateTime dateStart; DateTime dateFinish; string nameofOrder; TimeSpan duration; int counter; List<Orders> list = new List<Orders>(); while (true) { Console.WriteLine(); Console.WriteLine("Введите номер от 1 до 5: \n1) Для добавления распоряжения\n2) Для просмотра хода выполнения распоряжения и временного промежутка\n3) Для удаления информации\n4) Для редактирования информации\n5) Выход из программы"); int command = Convert.ToInt32(Console.ReadLine()); switch (command) { case 1: Console.WriteLine(); Console.Write("Введите распоряжение: "); nameofOrder = Console.ReadLine(); Console.Write("Введите время начала выполнения распоряжения (в формате HH:MM DD-MM-YYYY): "); dateStart = DateTime.Parse(Console.ReadLine()); Console.Write("Введите время окончания выполнения распоряжения (в формате HH:MM DD-MM-YYYY): "); dateFinish = DateTime.Parse(Console.ReadLine()); duration = dateFinish - dateStart; list.Add(new Orders(dateStart, dateFinish, nameofOrder, duration)); break; case 2: Console.WriteLine(); foreach (Orders elem in list) { if (DateTime.Now > elem.dateFinish) { Console.WriteLine(); Console.WriteLine("Распоряжение {0} вышло за рамки исполнения", elem.nameofOrder); } else Console.WriteLine("Распоряжение {0} еще выполняется", elem.nameofOrder); if (DateTime.Now == elem.dateFinish) { Console.WriteLine(); Console.WriteLine("Распоряжение {0} выполнено в срок", elem.nameofOrder); } } break; case 3: { Console.WriteLine(); Console.Write("Введите распоряжение, информацию о котором Вы хотите удалить:"); string newNumberOrder = Console.ReadLine(); counter = 0; foreach (Orders elem in list) { if (elem.nameofOrder == newNumberOrder) { list.RemoveAt(counter); Console.WriteLine("Информация о распоряжении '{0}' удалена", newNumberOrder); break; } counter++; } break; } case 4: Console.WriteLine(); Console.Write("Введите распоряжение, информацию о котором Вы хотите изменить:"); string orderNumber = Console.ReadLine(); counter = 0; foreach (Orders elem in list) { if (elem.nameofOrder == orderNumber) { Console.WriteLine(); elem.Print(); nameofOrder = elem.nameofOrder; Console.Write("Введите новое время начала выполнения распоряжения (в формате HH:MM DD-MM-YYYY): "); dateStart = DateTime.Parse(Console.ReadLine()); Console.Write("Введите новое время окончания выполнения распоряжения (в формате HH:MM DD-MM-YYYY): "); dateFinish = DateTime.Parse(Console.ReadLine()); duration = dateFinish - dateStart; list[counter] = new Orders(dateStart, dateFinish, nameofOrder, duration); break; } counter++; } break; case 5: Environment.Exit(0); break; default: Console.WriteLine(); Console.WriteLine("Введенное число неверно. Повторите попытку\nВыберите пункт от 1 до 5"); break; } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д