- Технологии C++/Qt/Sqlite(grouping and storing)
- Паттерны MVC/Отделение интерфейсами для инверсии зависимостей
qmake
make
-
Ниже приведено стартовое окно, в котором нужно выбрать файл в нужном формате (я использовал .csv с разделением пробелами)
-
Выбор файла для тестового запуска
- Главное окно программы
- Посредине выводятся элементы в нужных группировках из задания по 20 штук.
- Реализована пагинация по страницам для корретного отображения
- Сохранение текущей страницы в plain text
- Смена файла-источника.
- По нажатию на нужный пункт в ComboBox получим нужное группирование и сортировку по возрастанию.
- Использовать SQL гибкое и практичное решение.
- Инциализация отдельных модулей в main.cpp делает программу более гибкой, ведь мы можешь заменить хранилище, или например парсер и все продложит работать
- Отображение с пагинацией сделано для того чтобы программа не завершалась некорректно при большом количестве записей
- Динамически задавать размер групп для группировки по типу
- Считать дистанции не от 0, а от заданной пользователем точки
- Эстетично и практично оформить хранение SQL запросов в коде
- Пристально не профилировал, возможны утечки во view