Десктопное приложение для расчета индекса массы тела с визуализацией результатов на основе категорий веса. Разработано с использованием фреймворка Qt для создания кроссплатформенного графического интерфейса.
- Расчет ИМТ по стандартной формуле ВОЗ: вес (кг) / рост² (м)
- Определение категории веса по шкале ВОЗ:
- Недостаточный вес (ИМТ < 18.5)
- Нормальный вес (ИМТ 18.5-24.9)
- Избыточный вес (ИМТ 25-29.9)
- Ожирение (ИМТ 30-34.9)
- Экстремальное ожирение (ИМТ ≥ 35)
- Визуальная индикация результатов:
- Цветное выделение результата в зависимости от категории
- Графические изображения для каждой категории веса
- Наглядное отображение результата расчета
- Валидация входных данных:
- Проверка на пустые поля
- Проверка корректности числовых значений
- Проверка реалистичных диапазонов (рост: 0-250 см, вес: 0-500 кг)
- Информативные сообщения об ошибках
- Управление данными:
- Кнопка сброса всех полей
- Автоматическое скрытие изображения при сбросе
- Сохранение настроек интерфейса
- Язык программирования: C++17
- Фреймворк GUI: Qt 6
- Используемые модули Qt:
QtWidgets- для графического интерфейсаQtGui- для работы с изображениямиQtCore- основные классы и функции
- Система сборки: qmake/CMake
- Формат изображений: PNG для визуализации категорий
bmi-calculator/
├── main.cpp # Точка входа приложения
├── mainwindow.h # Заголовочный файл главного окна
├── mainwindow.cpp # Реализация главного окна (основная логика)
├── images/ # Директория с изображениями категорий ИМТ
│ ├── underweight.png # Изображение для недостаточного веса
│ ├── normal.png # Изображение для нормального веса
│ ├── bese.png # Изображение для избыточного веса
│ ├── overweight.png # Изображение для ожирения
│ └── obese.png # Изображение для экстремального ожирения
├── CMakeLists.txt # Файл конфигурации CMake (или .pro для qmake)
└── README.md # Документация проекта
- Иметь комп
- Откройте файл проекта (
CMakeLists.txtили*.pro) в Qt Creator - Нажмите "Configure Project"
- Нажмите кнопку "Run" (зеленая стрелка)
# Создаем директорию для сборки
mkdir build && cd build
# Генерируем файлы сборки
cmake ..
# Компилируем проект
make # или mingw32-make на Windows с MinGW
# Запускаем приложение
./bmi-calculator # на Linux/macOS
# или
bmi-calculator.exe # на Windows- Откройте репозиторий и скачайте zip проекта
- Разархивируйте и перейдите а папку build
- Запустите BMICalculator.exe
- В поле "Рост (см)" введите свой рост в сантиметрах
- В поле "Вес (кг)" введите свой вес в килограммах
- Нажмите кнопку "Рассчитать ИМТ"
- Приложение выполнит расчет и отобразит:
- Численное значение индекса массы тела
- Категорию веса согласно классификации ВОЗ
- Соответствующее изображение-визуализацию
- Цветную рамку, соответствующую категории
- Синяя рамка - Недостаточный вес (ИМТ < 18.5)
- Зеленая рамка - Нормальный вес (ИМТ 18.5-24.9)
- Оранжевая рамка - Избыточный вес (ИМТ 25-29.9)
- Красная рамка - Ожирение и выше (ИМТ ≥ 30)
- Для выполнения нового расчета нажмите "Сбросить"
- Все поля будут очищены, изображение скроется
ИМТ рассчитывается по стандартной формуле Всемирной организации здравоохранения (ВОЗ):
ИМТ = вес (кг) / (рост (м))²
Пример расчета:
- Рост: 175 см (1.75 м)
- Вес: 70 кг
- ИМТ = 70 / (1.75 * 1.75) = 22.86
- Категория: Нормальный вес
-
Интерпретация результатов:
- ИМТ является ориентировочным показателем
- Не учитывает мышечную массу, возраст, пол и телосложение
- Может давать неточные результаты для спортсменов, беременных и пожилых людей
-
Ограничения ввода:
- Рост: от 0 до 250 см
- Вес: от 0 до 500 кг
- Поддерживаются только числовые значения
- Десятичный разделитель - точка
-
Требования к изображениям:
- Убедитесь, что файлы изображений находятся в папке
images/ - Изображения должны быть в формате PNG
- Рекомендуемый размер: 250x250 пикселей
- Относительный путь к изображениям:
../images/
- Убедитесь, что файлы изображений находятся в папке
Решение: Проверьте путь к папке images/. В коде используется относительный путь ../images/ - убедитесь, что структура папок соответствует ожидаемой при запуске приложения.
Решение:
- Убедитесь, что все зависимости Qt установлены
- Проверьте правильность настроек в файле проекта (CMakeLists.txt или *.pro)
- Убедитесь, что компилятор C++ правильно настроен
Решение:
- Вводите только числа (без букв и специальных символов)
- Используйте точку как десятичный разделитель
- Убедитесь, что значения находятся в допустимых диапазонах (weight < 500 height <250)
Решение: Убедитесь, что установлена корректная версия Qt и все необходимые модули.
- Makar: Разработка основной логики приложения, реализация алгоритма расчета ИМТ, обработка пользовательского ввода, валидация данных, система визуальной индикации результатов
- Artem: Проектирование и реализация графического интерфейса, работа с изображениями, настройка системы сборки, тестирование на разных платформах
- Инициализация проекта: Настройка Qt проекта, создание базовой структуры
- Разработка логики: Реализация расчета ИМТ, категоризации результатов
- Создание GUI: Проектирование интерфейса, добавление элементов управления
- Интеграция изображений: Добавление визуализации категорий ИМТ
- Валидация и обработка ошибок: Реализация проверки входных данных
- Тестирование: Проверка работы на разных платформах и сценариях
- Документирование: Создание документации и инструкций