Модифицирование программы для определения класса, реализующего понятие геометрической фигуры в графической системе (Лабораторная работа № 2), страница 4

           scanf ("%d",&tf); break;

  case 5: clrscr();printf ("1 - Blue\n2 - Green\n3 - Gray\n4 - Red\n5 - Magenta\n6 - Brown\n7 - LightGray\n8 - DarkGray\n9 - LightBlue\n10 - LightGreen\n11 - LightCyan\n12 - LightRed\n13 - LightMagenta\n14 - Yellow\n15 - White\n\n");

           scanf ("%d",&cf); break;

  case 0: break;

 }

 }while (i>0);

 R.options(fl,tl,cl,tf,cf);

}

//------------------Replace-------------------------

void Vektor()

{int x,y,i;

 clrscr();

 do

 {printf ("Vvedite vektor (x,y)\n");

 scanf ("%d%d",&x,&y);

 R.move(x,y);

 i=check1();

 if (i) {R.move(-x,-y); printf ("Romb vyjdet za ekran, vvedite drugoj vektor\n");}

 }while (i==1);

}

//----------------Change options of Romb-------------------

void Change()

{int i,j,xo,yo,dx1,dy1,angle1,xoo,yoo,dx2,dy2,angle2, c;

 float cx, sx, cy, sy;

 xo=R.Get(1);

 yo=R.Get(2);

 dx1=R.Get(3);

 dy1=R.Get(4);

 angle1=R.Get(5);

 xoo=R.Get(6);

 yoo=R.Get(7);

 dx2=R.Get(8);

 dy2=R.Get(9);

 angle2=R.Get(10);

 do{

 clrscr();

 printf ("1 - Vnutrennij romb\n");

 printf ("2 - Vneshij romb\n");

 printf ("3 - Peremestit na vektor\n\n");

 printf ("0 - Back\n");

 scanf ("%d",&i);

 switch (i)

 {case 1: do{

           clrscr();

           printf ("1 - Izmenit X\n");

           printf ("2 - Izmenit Y\n");

           printf ("3 - Izmenit dlinu gorizontalnoj diagonali\n");

           printf ("4 - Izmenit dlinu vertikalnoj diagonali\n");

           printf ("5 - Izmenit ugol naklona\n");

           printf ("0 - Back\n");

           scanf ("%d",&j);

           switch (j){

           case 1: scanf ("%d",&xo); break;

           case 2: scanf ("%d",&yo); break;

           case 3: scanf ("%d",&dx1);  break;

           case 4: scanf ("%d",&dy1);  break;

           case 5: scanf ("%d",&angle1); break;

           case 0: break;}

           }while (j!=0);

           R.enter(xo, yo, dx1, dy1, angle1, xoo, yoo, dx2, dy2, angle2);

           break;

  case 2: do{

           clrscr();

           printf ("1 - Izmenit X\n");

           printf ("2 - Izmenit Y\n");

           printf ("3 - Izmenit dlinu gorizontalnoj diagonali\n");

           printf ("4 - Izmenit dlinu vertikalnoj diagonali\n");

           printf ("5 - Izmenit ugol naklona\n");

           printf ("0 - Back\n");

           scanf ("%d",&j);

           switch (j){

           case 1: scanf ("%d",&xoo); break;

           case 2: scanf ("%d",&yoo); break;

           case 3: scanf ("%d",&dx2);  break;

           case 4: scanf ("%d",&dy2);  break;

           case 5: scanf ("%d",&angle2); break;

           case 0: break;}

           }while (j!=0);

           R.enter(xo, yo, dx1, dy1, angle1, xoo, yoo, dx2, dy2, angle2);

           break;

  case 3: Vektor(); break;

  case 0: break;

  }

 }while(i!=0);

}

//----------------------Vyvod-----------------------

void Output()

{clrscr();

 printf ("Tochka peresechenia diagonalej,\nih dlina,\nugol naklona po chasovoj strelke\n\n");

 printf ("Vnutrennij romb\n");

 printf ("X1 --- %d\nY1 --- %d\nDx1 -- %d\nDy1 -- %d\nAng1 - %d\n\n",R.Get(1),R.Get(2),R.Get(3),R.Get(4),R.Get(5));

 printf ("Vneshnij romb\n");