Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 22:41   #1
Rammashka
 
Регистрация: 04.12.2009
Сообщений: 8
Печаль Классы и рекурсия в С++

Есть пример задачи на классы. Нужно переделать ее не для линии, а для окружности. Действие с окружностью: нарисовать, закрасить, растянуть.

#include<conio.h>
#include<math.h>
#include<graphics.h>
class cline
{ // объекты
int x1, y1 ;
int x2, y2 ;
float len ;
public: cline(int, int, int, int) ; // методы
void draw() ;
void extend (int) ;
int getlen() { return len ;}
}
// конструктор
cline::cline ( int a, int b, int c, int d)
{ x1=a ; y1=b ; x2=c ; y2=d ;
int dx = x2-x1 ;
int dy = y2-y1 ;
len= sqrt(dx*dx + dy*dy) ;
}
// удлинение отрезка
void cline::extend ( int d)
{ int dx = x2-x1 ;
int dy = y2-y1 ;
float cx = dx / len ;
float cy = dy / len ;
len = len + d ;
dx = len *cx ;
dy = len *cy ;
x2 = x1 + dx ;
y2 = y1 + dy ;
}
// рисование отрезка
void cline:raw ()
{ line(x1, y1, x2, y2) ; }
// работа с классом
main()
{
cline L(100, 100, 200, 200) ; // создание отрезка с указанными координатами

int gdriver=DETECT, gmode ;
initgraph (&gdriver, &gmode, “”) ;

L.draw() ; // рисование отрезка
getch() ;
L.extend ( L.getlen() + 50) ; // удлинение его на 50
L.draw () ; // рисование удлиненного отрезка
getch() ;
closegraph() ;
}

желательно по примеру этой задачи6)))
Rammashka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекурсия -Spirit- Помощь студентам 1 14.01.2010 16:40
си рекурсия world12_tk Помощь студентам 1 10.04.2009 23:06
рекурсия Vital_k Паскаль, Turbo Pascal, PascalABC.NET 1 08.02.2008 13:09
Рекурсия АнНютик Паскаль, Turbo Pascal, PascalABC.NET 1 29.01.2008 22:50