Перейти к содержанию
Asterios

Програмисты АуАу!11


CheЗter

Рекомендуемые сообщения

Вобщем у меня возникла проблема с описанием класса для окружности точноее для 2х окружностей 18448508.jpg

( красная точка - базовая точка класса "графический обьект" ,а синяя - дополнительная точка определенная в классе-наследнике )

!собственно вопрос, как мне описать дынный обьект?

до етого я делал задание с ромбом , обьект описал , програма его крутит вертит и перекрашивает




//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <math.h>

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

	: TForm(Owner)

{

}

//---------------------------------------------------------------------------



   class figure {

public:

		int x,y,r,r1;

		double grad;

		figure (int a=200, int b=200)

		{ x=a;  y=b;  grad=0; r=100; }

		virtual void draw (void)=0;

		void sdvig(int t);

		void povor(int c);

		void mas (float g);

		};


void figure::sdvig(int t)

{

x=(x>=0 && x<Form1->Width)?x+t:0;

}


void figure::povor(int c)

{

grad+=c*M_PI/180;

}


void figure::mas(float g)

{

r=r*g;

r1=r1*g;

}


class romb : public figure {

public:

        void draw(void);

		};

void romb::draw (void)

{

 float alp=30*M_PI/180;

 Form1->Canvas->Rectangle(-1,-1,Form1->Width+1,Form1->Height+1);

 Form1->Canvas->MoveTo(x-r*cos(alp)*cos(grad),y-r*cos(alp)*sin(grad));

 Form1->Canvas->LineTo(x-r*sin(alp)*sin(grad),y+r*sin(alp)*cos(grad));

 Form1->Canvas->LineTo(x+r*cos(alp)*cos(grad),y+r*cos(alp)*sin(grad));

 Form1->Canvas->LineTo(x+r*sin(alp)*sin(grad),y-r*sin(alp)*cos(grad));

 Form1->Canvas->LineTo(x-r*cos(alp)*cos(grad),y-r*cos(alp)*sin(grad));

}

romb z;


void __fastcall TForm1::Button1Click(TObject *Sender)

{

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

z.sdvig(5);

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

int rr, rg, rb;

rr = rand()*255/RAND_MAX;

rg = rand()*255/RAND_MAX;

rb = rand()*255/RAND_MAX;

Form1->Canvas->Pen->Color=RGB(rr,rg,rb);

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

z.mas(1.1);

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

z.povor(20);

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)

{

 Form1->Canvas->Rectangle(-1,-1,Form1->Width+1,Form1->Height+1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)

{

 Close();

}

(эта ромб)

после препод попросил меня написать програму которая также будет вертеть крутить круг который дан выше (по сути заменить ромб на окружность даную выше), но с его описанием у меня возникли проблемы , памагите галоднаму студенту аписать ету фигуру сдавать скоро, а с кругами и окружностями чота полные не лады, хз какими функциями их описывать), делать окрцжность из 100500 мелких прямых я думаю вообше не вариант)))

ЗЫ С++

Изменено пользователем CheЗter
Ссылка на комментарий
Поделиться на другие сайты

http://www.cyberforum.ru во сюда ид там помогут, а то я чот не понял чо те надо :lol:
Ссылка на комментарий
Поделиться на другие сайты

предложи голды на серве) думаю сразу помогут)))

Ссылка на комментарий
Поделиться на другие сайты

предложи голды на серве) думаю сразу помогут)))

точно еп.... пасаны с х55, у меня там есть голдов 20+, айда писать мне лабы на С++ , задания в пм скину :lol:

Ссылка на комментарий
Поделиться на другие сайты

точно еп.... пасаны с х55, у меня там есть голдов 20+, айда писать мне лабы на С++ , задания в пм скину :lol:

:lol:

Ссылка на комментарий
Поделиться на другие сайты

:lol:

ну я какбы СВЯТАВЕРЮ в то что там задрит не тока тупая шкалата и люди которые определяют вкусовые качества собачьего корма

712246_kto-opredelyaet.jpg

но шас не об етом, чо нада камунить голды на х55 ? :lol:

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...