домашнее задание

Выполнен
Заказ
5166527
Раздел
Программирование
Предмет
C#
Тип работы
Антиплагиат
Не указан
Срок сдачи
13 Янв 2023 в 14:00
Цена
400 ₽
Блокировка
5 дней
Размещен
11 Янв 2023 в 19:23
Просмотров
109
Описание работы

Автобаза

Этап 1

Создать JSON-файл с данными о грузовиках на автобазе:

[

  {

    "Id": 1,

    "Name": "Renault Magnum",

    "Driver": {

"Name" : "John",

"Surname" : "Dou",

"Age" : 35,

"Experience" : 10

},

    "State": "base"

  },

  {

    "Id": 2,

    "Name": "Volvo FH12",

   "Driver": {

"Name" : "Jack",

"Surname" : "Dou",

"Age" : 55,

"Experience" : 30

},

    "State": "base"

  },

  {

    "Id": 3,

    "Name": "DAF XF",

    "Driver": {

"Name" : "Jane",

"Surname" : "Dou",

"Age" : 45,

"Experience" : 15

},

    "State": "base"

  }

При запуске программы запросить у пользователя пути к файлам считывания и выгрузки. 

Предусмотреть обработку исключения в случае, если json-файл не удастся найти по указанному пути.


Этап 2

Разработать меню программы. Для выбора тех или иных действий.

Пример:

Меню:

  1. Отобразить текущее состояние грузовиков
  2. Показать данные грузовика по id

Выберите действие: 

При выборе пункта 1, программа должна отобразить в консоли таблицу, с данными из json-файла:

№     | Грузовик        | Водитель  | Состояние 

1    | Renault Magnum    |  Саша     | На базе

2    | Volvo FH12      |  Петя     | На базе

3    | DAF XF        |  Вася     | На базе

При выборе пункта 2, программа должна запросить у пользователя номер (id) грузовика и вывести информацию о нем:

№        | 1

Марка        | Renault Magnum

Водитель    | Саша

Состояние    | На базе    

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


Этап 3

Доработать меню программы. Дописать еще 2 пункта

Пример:

Меню:

  1. Отобразить текущее состояние грузовиков
  2. Показать данные грузовика по id
  3. Обновить состояние грузовика
  4. Завершить программу и выгрузить все данные

Выберите действие:

При выборе пункта 3, программа должна запросить у пользователя изменить состояние грузовика:

Пример:

Обновление состояния грузовика

Укажите номер грузовика и состояние через пробел: 1 run

Грузовика “Renault Magnum” - На маршруте


Состояния:

  • На базе
  • Внутреннее имя - "base"
  • Имя класса: InBaseState
  • Метод ChangeDriver -  вернуть сообщение о том, что водитель поменян успешно
  • Метод StartRun - изменить состояние грузовика на “run” и показать сообщение об этом
  • Метод StartRepair - изменить состояние грузовика на “repair” и показать сообщение об этом
  • На маршруте
  • Внутреннее имя - "run"
  • Имя класса: InRunState
  • Метод ChangeDriver - вернуть сообщение об ошибке, так как водителя нельзя менять в пути
  • Метод StartRun - вернуть сообщение об ошибке - грузовик и так в пути
  • Метод StartRepair - изменить состояние грузовика на “repair” и показать сообщение об этом
  • В ремонте
  • Внутреннее имя - "repair"
  • Имя класса: InRepairState
  • Метод ChangeDriver -  поменять водителя и показать сообщение об этом
  • Метод StartRun - случайным образом  изменить состояние грузовика на “run” или “base” и показать сообщение об этом
  • Метод StartRepair - вернуть сообщение об ошибке - уже в ремонте

Изменение состояния необходимо сделать с помощью паттерна “Состояние” https://bit.ly/2tQrrlr . 

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
8 часов 28 минут
Выполнен в срок
Отзыв о выполненном заказе
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир