Написать приложение телефонный справочник с использованием библиотеки Qt:
Обязательные поля для хранения: Имя, Фамилия, Отчество, адрес, дата рождения, email, телефонные номера (рабочий, домашний, служебный) в любом количестве.
Организовать проверку всех вводимых данных на корректность при помощи регулярных выражений:
Фамилия, Имя или Отчество --- должны содержать только буквы и цифры различных алфавитов, а также дефис и пробел, но при этом должны начинаться только на заглавные буквы, и не могли бы оканчиваться или начинаться на дефис. Все незначимые пробелы перед и после данных должны удаляться.
Телефон должен быть записан в международном формате, а храниться внутри как последовательность цифр. Один из вариантов записи телефона: префикс_выхода_на международную_линию код_страны код_города телефон. Пример, +7 812 1234567, 8(800)123-1212, + 38 (032) 123 11 11
Дата рождения должна быть меньше текущей даты, число месяцев в дате должно быть от 1 до 12, число дней от 1 до 31, причем должно учитываться различное число дней в месяце и високосные года. Для обработки даты как вариант можно использовать классы QDateEdit или QCalendarWidget.
E-mail должен содержать в себе имя пользователя состоящее из латинских букв и цифр, символ разделения пользователя и имени домена(@), а также сам домен состоящий из латинских букв и цифр. Все незначащие пробелы (включая пробелы перед и после символа @) должны быть удалены.
Приложение должно позволять добавлять/удалять записи, а также редактировать все поля. Осуществлять сортировку отображаемых данных по указанному полю и поиск по нескольким полям.
Хранение и загрузку данных осуществить ввиде файла, для чтения/записи файла можно использовать класс QFile.
Для удобного представления данных пользователю, можно использовать таблицы (см. классы QTableWidget, QTableView) + получаем бесплатную сортировку по полям.