Программа называется Tringl. В программе были разработаны три класса и их методы. Интерфейс и все вычисления были выполнены в одном классе, описывающем главное диалоговое окно (рисунок 2.3.1). Класс называется TringlDlg. Он наследован от класса Dilg.

Рисунок 2.3.1 – Главное окно программы
Ввод длин сторон треугольника осуществляется через элементы dit. С ними связаны атрибуты класса m_lin_1, m_lin_2, m_lin_3. Эти атрибуты имеют тип int. Минимальным значение длины стороны является 1. У пользователя имеется возможность ввести значения вручную или использовать для этого элементы Sin. В программе реализована обработка события UD_DLTS данных элементов. Функции, реализующие обработку данных событий, называются nDltsSin1, nDltsSin2, nDltsSin3. В данные функции передается указатель NM_UDWN* NMUDwn. Через него можно получить значение атрибута iDlt (значение, на которое следует увеличить или уменьшить связанное с элементом число).
Если пользователь попытается ввести число, не соответствующее целому типу, программа выдаст соответствующее сообщение об этом.
После ввода длин сторон пользователю необходимо нажать на кнопку «Рассчитать». С этой кнопкой связана функция nlult().
Сначала функция проверяет, правильно ли задан треугольник. Это происходит следующим образом. По известной формуле Герона рассчитывается площадь треугольника.
,
где
,
длины сторон треугольника
В случае, значение выражения под корнем равно нулю или меньше нуля, считается, что такого треугольника не существует. В этом случае программа выдает соответствующее сообщение (рисунок 2.3.2).

2.3.2. Сообщение о некорректном вводе
Если треугольник задан правильно, программа вычисляет, является ли он прямоугольным. Для этого использована теорема Пифагора:

Программа находит наибольшую сторону (предполагаемую гипотенузу) и проверяет на истинность условие (2). Если оно истинно, то выдается сообщение «Треугольник прямоугольный». В противном случае, «Треугольник не прямоугольный» (рисунок 2.3.3).

Рисунок 2.3.3. Анализ треугольника на наличие прямого угла
Далее функция рассчитывает периметр треугольника (3), радиус описанной окружности (4) и радиус вписанной окружности (5).



После получения результатов, функция преобразует их в текстовый вид. Для этого используется String m_rsult и функция Frmt. Переменная m_rsult связана с элементом Stti. Результат вычислений появится на форме.

Рисунок 2.3.4. Результат вычислений
Таблица 2.1 – Спецификация разработанных классов
| Имя класса | Член класса | Способа доступа | Назначение |
| TringlDlg | BL nInitilDilg() | защищенный | Выставляет значения длин сторон |
| TringlDlg | vid nlult() | защищенный | Производит все вычисления |






