README.md

Калькулятор на Qt и C++

Цель разработки

Научится писать код на C++, изучить принципы написания приложений с GUI,
провести аудит уровня разработки участников.

Предположительные сроки разработки

8.01.2024 - 04.02.2024 для реализации необходимого функционала

Описание программы

Функциональность

  • Реализация базовых алгебраических операций(сложение, вычитание, умножение, деление(дробное)) с неотрицательными числами
  • Ответ должен выдаваться при вызове “равно”
  • Возможность ввдода чисел и операций с помощью GUI
  • Реализация команды “Очистить” для сброса всех операций и значений
  • Поддержка выполнения цепочки операций без учёта приоритета операций. Например цепочка “2 + 3 * 4” даст 20

Дополнительно

  • Возможность ввода чисел и операций с помощью “горячих клавиш”(клавиатуры)
  • Реализация команды “Удалить” для удаления последней слева цифры или операции
  • Рализация вычисления цепочки оперций с учётом приоритетов. То есть цепочка “2 + 3 * 4” даст 14
  • Реализовать скобки
  • Поддержка отрицательных чисел
  • Поддержка ввода дробных чисел

Требования к GUI

  • Окно приолжения с кнопками, соответствующими цифрам и операциям
  • Поле для отображения вводимых символов и результата
  • При изменении размеров окна элементы остаются в том же порядке и не появляется пустого места без элементов
  • Есть хоть какие-то попытки в UI/UX

Технические требования

  • Использование связки Qt/C++
  • Qt5 или Qt6
  • C++ standart 11 или новее
  • ООП
  • Подход к архитектуре приложения - MVVM(другая не возможна)
  • Кодирование файлов в UTF-8
  • Обработка ошибок и исключений для операций(таких как “деление на ноль”)
  • Обработка ошибок и исключений для вводимых данных

Требования к процессу разработки

  • Разработка ведётся с использованием системы контроля версий(git)
  • Исползование удалённых репозиториев(GitFlic, GitHub, GitLab, MosHub)
  • Проводиться review кода со стороны других участников

Требования к репозиторию в системе контроля версий

  • В репозитории присутствует исходный код, не захламляющий весь репозиторий(лежит в папке src)
  • Оформлен README файл, куда включены:
    • Загаловок(название программы)
    • Скриншот окна приложения(после разработки интерфейса)
    • Блок с реализованной функциональностью по ТЗ
    • Описание архитектуры приложения
    • Описание действий для компиляции(опционально, но желательно)
  • Опционально может быть написать Makefile для компиляции программы
Описание

Техническое задание для pet-проекта для изучения разработки GUI приложений на C++

Конвейеры
0 успешных
0 с ошибкой