Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Проект 9: База данных сотрудников 👨‍💼

Консольное приложение для управления сотрудниками компании.
Позволяет добавлять, удалять, изменять зарплату и считать фонд оплаты труда.

🎯 Что закрепляет

  • Вложенные словари
  • JSON (сохранение и загрузка)
  • Обработка ошибок (try-except, проверки)
  • Цикл меню с continue/break
  • Поиск и фильтрация данных

📋 Функционал

1. Добавить сотрудника

  • Ввод имени, отдела, зарплаты
  • Автоматическая генерация ID
  • Защита от пустого ввода
  • Проверка, что зарплата — число

2. Удалить сотрудника

  • Удаление по ID
  • Проверка существования ID
  • Защита от ввода букв

3. Повысить/понизить зарплату в отделе

  • Выбор действия (1-повысить, 2-понизить)
  • Ввод процента
  • Поиск отдела
  • Изменение зарплаты у всех сотрудников отдела

4. ФОТ по отделу

  • Подсчёт суммы зарплат в отделе
  • Проверка существования отдела

5. Выход

  • Завершение программы

🛡️ Обработка ошибок

  • Защита от букв в меню
  • Проверка диапазона (1-5)
  • Защита от пустого ввода
  • Проверка, что зарплата/процент/ID — числа
  • Проверка существования ID и отдела
  • Обработка битого JSON файла
  • Понятные сообщения об ошибках

📝 Пример работы

СОТРУДНИКИ:
1(id): Анна (IT) - 100000
2(id): Иван (IT) - 90000
3(id): Петр (Бухгалтерия) - 80000

1. Добавить сотрудника
2. Удалить сотрудника
3. Повысить или понизить зарплату в отделе
4. ФОТ по отделу
5. Выход

Выберите действие (1-5): 1
Имя сотрудника: Мария
Отдел сотрудника: HR
Зарплата сотрудника: 75000
Сотрудник сохранен

Выберите действие (1-5): 3
1. Повысить зарплату отделу
2. Понизить зарплату отделу
Выберите действие (1-2): 1
На сколько процентов: 10
Какому отделу: IT
Зарплата в отделе IT изменена

СОТРУДНИКИ:
1(id): Анна (IT) - 110000
2(id): Иван (IT) - 99000
3(id): Петр (Бухгалтерия) - 80000
4(id): Мария (HR) - 75000

🧠 Чему научился

  • Работать с вложенными словарями
  • Генерировать ID на основе максимального значения
  • Обрабатывать все возможные ошибки ввода
  • Писать модульные функции
  • Сохранять и загружать данные в JSON
  • Строить бесконечное меню с защитой

📁 Структура проекта

09_employees_db/
├── main.py         # основной код программы
└── README.md       # документация

📊 Статус

✅ Проект готов