Полностью выполненная лабораторная работа №3 - проект для visual studio 2005 Qt. Реализована сортировка записей базы данных, включено дополнительное модальное окно. Данные хранятся лишь в оперативной памяти, реляционные БД не используются.
Задание на данную лабораторную работу было таким:
Реализовать программу с дополнительным диалоговым окном, которое определяется индивидуальным заданием. Реализовать упорядочивание записей в базе данных по критериям, определенным в индивидуальном задании. Упорядочивание должно выполняться автоматически при каждом обновлении базы данных. Браузер записей главного окна должен показывать записи в упорядоченном состоянии.
Если упорядочивание выполняется сразу по нескольким полям, то это означает, что записи сначала упорядочиваются по первому полю, при его (поля) совпадении записи сравниваются по второму и т.д.
Записи в базе данных должны представляться классом. В классе должны быть определены следующие методы и операции:
- конструктор по умолчанию, который задает начальные значения полям записи; - операции !=, ==, выполняющие сравнение на полное совпадение записей; - операции >, >=, <, <= с учетом порядка сортировки (см. индивидуальное задания); - операция присваивания.
Индивидуальное задание:
Назначение функции: упорядочить записи по следующим полям: профессия, образование, дата рождения, ФИО Назначение функции: поиск пенсионеров и удаление их из базы данных. Режим диалога: модальный.
Способ реализации функции: 1. По кнопке «Удалить пенсионеров» главного окна программы появляется диалог «Удаление пенсионеров»;
2. Диалог имеет следующий набор полей/виджетов:
Пенсионный возраста у женщин: полное кол-во лет в диапазоне [40,55] Пенсионный возраста у мужчин: полное кол-во лет в диапазоне [40,60] Кнопки «Удалить» и «Закрыть»;
3. После задания пенсионного возраста и нажатия кнопки «Удалить» диалог закрывается и происходит удаление всех пенсионеров. Если удаление прошло успешно, то выдается сообщение «Количество удаленных пенсионеров: NNN Из них NNN женщин и NNN мужчин». Если удаляемых записей нет, то выдается сообщение «Нет ни одного пенсионера»;
4. Если пользователь нажал кнопку «Закрыть» (в самом диалоге или полосе заголовка) или клавишу «Esc», то диалог закрывается и удаление пенсионеров не происходит;
5. При повторном вызове диалога «Удаление пенсионеров» (кнопка «Удалить пенсионеров») в нем должны отображаться возраста пенсионеров, заданные в прошлый раз.
В данной программе модальное окно лишь отсылает полученные данные в главное окно и вся реализация функции происходит внутри класса главного окна! Скорее всего в вашем задании чётко указан способ реализации вашего создаваемого диалога и он может отличаться от данного, поэтому будьте внимательны...