Калькулятор с поддержкой различных числовых типов данных и графическим интерфейсом на Qt Framework.
Калькулятор с поддержкой различных числовых типов (int, double, float, int64_t, size_t, uint8_t, rational) и графическим интерфейсом на Qt. Реализована архитектура MVC для разделения логики и представления.
- Поддержка различных числовых типов данных
- Графический интерфейс на Qt Framework
- Архитектура MVC (Model-View-Controller)
- Перегрузка операторов для пользовательских типов
- Расширяемая архитектура для добавления новых типов
- C++17 - основной язык программирования
- Qt Framework - для создания GUI
- Шаблоны - для работы с разными типами данных
- MVC архитектура - разделение логики и представления
- Перегрузка операторов - для пользовательских типов (Rational)
calculator/
├── main.cpp # Точка входа
├── mainwindow.h/cpp # Главное окно (View)
├── controller.h # Контроллер (MVC)
├── calculator.h # Модель калькулятора
├── rational.h # Пользовательский тип Rational
├── mainwindow.ui # UI файл Qt
└── submission.pro # Файл проекта Qt
- Qt 5.12+ или Qt 6.x
- Компилятор с поддержкой C++17
- qmake или CMake
qmake submission.pro
makemkdir build
cd build
cmake ..
make./calculatorint- целые числаdouble- числа с плавающей точкой двойной точностиfloat- числа с плавающей точкойint64_t- 64-битные целые числаsize_t- беззнаковые целые числаuint8_t- 8-битные беззнаковые целыеRational- рациональные числа (дроби)
- Сложение (+)
- Вычитание (-)
- Умножение (*)
- Деление (/)
- Возведение в степень (^)
- MVC архитектура: четкое разделение логики и представления
- Шаблоны: универсальная работа с различными типами
- Пользовательские типы: поддержка Rational для работы с дробями
- Расширяемость: легко добавлять новые типы данных
- Версия 1: Простой консольный калькулятор
- Версия 2: Добавлен графический интерфейс на Qt
- Версия 3 (текущая): Добавлена поддержка множества типов данных и MVC архитектура
Михаил Нестеров
Этот проект создан в образовательных целях.