Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Pashketus
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 15
1

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

14.12.2015, 17:13. Просмотров 355. Ответов 3
Метки нет (Все метки)

Написать программу учета выполнения распоряжений руководства на предприятии. При выполнении задания необходимо его помечать как выполненное, при невыполнении в указанную дату, требуется помечать на какую дату было перенесено его выполнение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2015, 17:13
Ответы с готовыми решениями:

Работа с коллекциями
есть коллекция объектов собранная при помощи SelectMany и отсортирована по...

Работа с коллекциями
Ребят, помогите пожалуйста) У меня есть файл, содержащий информацию о...

Работа с коллекциями, заполнение коллекций
Написать оконное приложение, в котором выбранная коллекция заполняется...

Работа с коллекциями: нужен доступ не к каждому элементу, а к последнему добавленному
PointedItems = new List<ObserveResultFilter>() List<ObserveResultFilter>...

БД учета оргтехники на предприятии
Здравствуйте, пишу СУБД Учета техники на предприятии, помогите организовать...

3
Goal
Футболист
513 / 415 / 140
Регистрация: 31.10.2011
Сообщений: 1,008
Завершенные тесты: 2
14.12.2015, 23:55 2
с чем у вас возникли сложности?
0
dotnethood
60 / 60 / 35
Регистрация: 14.12.2015
Сообщений: 145
15.12.2015, 00:42 3
Pashketus, скиньте какие-либо свои наработки, а мы поможем и укажем на что обратить внимание.
0
Pashketus
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 15
16.02.2016, 18:44  [ТС] 4
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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;
                }
            }
        }
    }
}
Вот что есть у меня, но с этим нужно еще поработать, мне по пунктам рассказали что примерно от меня требуется:
1)выводить "менюшку" с использованием методов
2) чтобы не учитывался регистр (верхний или нижний)
3) (этого мне не сказали, но я и так знаю) в программе есть мелкие ошибки, которые я вижу, понимаю на что надо исправить, но не понимаю как)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2016, 18:44

разработка ПО для систем учета автотранспорта на предприятии
Мастера, помогите. Начинаем разработку ПО для систем учета автотранспорта на...

работа с коллекциями
Всем привет! Вопрос следующий (просьба не ругать начинающего чайника):...

Работа с коллекциями!
Надо написать программу для выборочного копирования из списка с к-го элемента n...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru