На С++ программить не умею посему предложу алгоритм ...
1. Узнаем размеры экрана
2. Вычисляем координаты центра окружности (X0,Y0)
4. Рисуем окружность X^2+Y^2=R^2, т.е.
X в цикле от -R до +R с шагом чем меньше, тем лучше рисуем две точки
с Y=+корню(R^2-X^2) и Y=-корню(R^2-X^2)
5. Затем RR(угол) в цикле от 0 до 360 градусов делаем ...
- Получаем точку с X, полученным из уравнения R^2=X^2+2*R^2*(1-cos RR), и Y, полученным из уравнения X^2+Y^2=R^2
- уравнение касательной в этой точке будет иметь вид
Y=(-A/B)X+(B+A^2/B), где А,В - абсцисса и ордината, полученные на предыдущем этапе (координаты точки касания)
- Рисуем касательную
P.S. На каждом шаге необходдимо корректировать абциссу и ординату на X0 и Y0 соответственно
Истина где-то рядом