Класс ромб

Ответить
Freeman12
Сообщения: 19
Зарегистрирован: 25 май 2008, 19:17

Помогите написать класс ромб,что просто надо было ввести 4 точки и строился ромб!помогите плиз,оч.надо
Search..
Сообщения: 7
Зарегистрирован: 28 май 2009, 13:12

Окей. Поможем ! Давайте свои наброски кода...

P.S: Вам ведь нужно помочь, а не написать программу за Вас...
Freeman12
Сообщения: 19
Зарегистрирован: 25 май 2008, 19:17

Спасибо,но задание уже чуть-чуть переменилось.Нам надо создать класс ромб и его дочерний-диагонали ромба.т.е. то бы у нас на экране был ромб с диагоналями,его можно было передвигать нажатием стрелок на клавиатуре и скрывать.
код:

Код: Выделить всё

#include <iostream.h>
#include <stdio.h>
#include <graphics.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>


int init ()
{
	int gdriver=DETECT, gmode, errorcode;
	initgraph (&gdriver, &gmode, "C:\\BORLANDC\\bin");
	errorcode = graphresult();
	if (errorcode!=grOk)
	{
		char *err=grapherrormsg (errorcode);
		cout << "Graphics error: " << err << endl;
		cout <<"Press any key to exit";
		getch ();
		exit (1);
	}
	return 0;
}
class romb
{protected:
int x1;
int y1;
int x2;
int y2;
int color;
public:
	romb(int sx1,int sy1,int sx2,int sy2)
	{x1=sx1;x2=sx2;y1=sy1;y2=sy2;}
	int vvod_koord(int kx1,int kx2,int ky1,int ky2)
	{x1=kx1;
	x2=kx2;
	y1=ky1;
	y2=ky2;}
	void vvod_cveta(int sc)
	{color=sc;}
	int GetX1(){return x1;}
	int GetY1(){return y1;}
	int GetX2(){return x2;}
	int GetY2(){return y2;}
	int getcolor(){return color;}
	void ris()
	{setcolor(color);
	line(x1,y1,x2,y2);
	line(x1,y1,x1,y2+y2-y1);
	line(x1,y1+y1-y2,x1+x1-x2,y2);
	line(x1+x1-x2,y2,x1,y1);
	getch();}

	void hide()
	{int bk=getbkcolor();
	int cc=color;
	setcolor(bk);
	line(x1,y1,x2,y2);
	line(x1,y1,x1,y2+y2-y1);
	line(x1,y1+y1-y2,x1+x1-x2,y2);
	line(x1+x1-x2,y2,x1,y1);
	getch();
	vvod_cveta(cc);
	}
	void peremeshenie()
	{int iq;
	int bp=getbkcolor();
	ris();
	while(iq!=0)
	{setcolor(bp);
	line(x1,y1,x2,y2);
	line(x1,y1,x1,y2+y2-y1);
	line(x1,y1+y1-y2,x1+x1-x2,y2);
	line(x1+x1-x2,y2,x1,y1);
	switch(int(getch()))
	{case 87:y1=(y1+10);y2=(y2+10);break;
	case 81:y1=(y1-10);y2=(y2-10);break;
	case 69:x1=(x1-10);x2=(x2-10);break;
	case 82:x1=(x1+10);x2=(x2+10);break;
	default:iq=0;}
	ris();
	}
	}
	};

class diag :p ublic romb
{protected:
int color2;

public:
diag(int x3,int y3,int x4,int y4,int sc1,int sc2):romb(int x3,int y3,int x4,int y4,int sc1)
{{color2=sc2;}
void vvod_cveta(int cl)
{color2=cl;}
int get_color2()
{return color2;}
void ris2()
	{	setcolor(color2);
	line(x1,y1,x1,y2+y2-y1);
	line(x2,y2,x1+x1-x2,y2);
	}


 void gashenie2()
 {int bk2=getbkcolor();
 int cc1=color;
 int cc2=color2;
 setcolor(bk2);
 line(x1,y1,x1,y2+y2-y1);
 line(x2,y2,x1+x1-x2,y2);
 getch;
 vvod_cveta(cc1);
 vvod_cveta(cc2);
 }
 void peremeshrnie2()
 {int qu;
 int bk_=getbkcolor();
 ris2();
 while(qu!=0)
 {setcolor(bk_);
  line(x1,y1,x1,y2+y2-y1);
 line(x2,y2,x1+x1-x2,y2);
 setcolor(bk_);
 line(x1,y1,x1,y2+y2-y1);
 line(x2,y2,x1+x1-x2,y2);
 switch(int(getch()))
	{case 87:y1=(y1+10);y2=(y2-10);break;
	case 81:y1=(y1-10);y2=(y2-10);break;
	case 69:x1=(x1-10);x2=(x2-10);break;
	case 82:x1=(x1+10);x2=(x2+10);break;
	default:qu=0;}
	ris();
	}
	}
	}
	;}
	void vvod_cveta(Romb&diag);
	void ris(Romb&diag);
	void hide(Romb&diag);
	void peremeshenie(Romb&diag);
	void vvod_koord(Romb&diag);

	void main()
{int vibor;
clrscr();
do
{
cout << "\n 1-sozdanie romba";
cout << "\n 2-izmenenie koordinat,cveta romba";
cout << "\n 3-risovanie romba";
cout << "\n 4-gashenie romba";
cout << "\n 5-peremeshenie romba";
cout << "\n 0-vihod";
cin>> vibor;
switch(vibor)
{case 1:romb, romb(0,0,0,0,0,0);break;
case 2:vvod_koordn;break;
case 3:ris;break;
case 4:gashenie;break;
case 5 :p eremeshenie;break;
default:vibor=0;}
}while(vibor!=0);
}





void vvod_koord(Romb &rom)
{int n,k,m,v;
cout << "\n vvedi x1";
cin>>n;
cout << "\n vvedi y1";
cin>>k;
cout << "\n vvedi x2";
cin>>m;
cout << "\n vvedi y2";
cin>>v;


void void ris(Romb&diag)
{int driver = DETECT;
int mode = 0;
initgraph(&driver,&mode,"C:\\BORLANDC\\BGI");
romb.ris1();
diag.ris2();
}

void peremeshenie(Romb&diag)
{int driver = DETECT;
int mode = 0;
initgraph(&driver,&mode,"C:\\BORLANDC\\BGI");
.peremeshenie();
}


}
Готов заплатить за доделку этой программы.
Search..
Сообщения: 7
Зарегистрирован: 28 май 2009, 13:12

Вы это в Борланде писали. Так что уж извините, помочь, к сожалению, не смогу...
Ответить