Разработка функций, рисующих на экране незакрашенную или закрашенную фигуру и две вложенных одну в другую фигуры, внешняя из которых закрашена (Лабораторная работа № 1), страница 2

            vvod(&x,&y,&R);

            i=check_up(x,y,R,maxx,maxy);

            if(i==0){printf("\nWrong coordinates.\n");

                        getch();

                        exit(0);}

            vvod(&x2,&y2,&R2);

            i=check_up(x2,y2,R2,maxx,maxy);

            if(i==0){printf("\nWrong coordinates.\n");

                        getch();

                        exit(0);}

            colorgraph(&color);

            if ((color!=1)&&(color!=4)&&(color!=2)){printf("\nThere is no such color1.\n");

                                                                       getch();

                                                                       exit(0);};

            othergraph(&background,&width);

            if (background!=3&&background!=15&&background!=0){printf("\nThere is no such color2.\n");

                                                                                     getch();

                                                                                     exit(0);};

            if ((width!=1)&&(width!=3)){printf("\nThere is no such width.\n");

                                               getch();

                                               exit(0);};

            cleardevice();             /*vsya grafika - po umolchaniyu*/

            clearviewport();           /*ochistka graficheskogo okna*/

            setbkcolor(background);    /*cvet fona*/

            setcolor(color);           /*risuyush'iy chvet: linii i simvoly*/

            settextstyle(SMALL_FONT,HORIZ_DIR,4);

            setlinestyle(SOLID_LINE,0,width); /*nastroyka geometricheskih liniy*/

            setfillstyle(SOLID_FILL,0);

            ch=10;

            while(ch!=0)

            {clrscr();

            outtextxy(maxx-220,maxy-170,"Choose the number:");

            outtextxy(maxx-220,maxy-150,"1-Paint the circle.");  //

            outtextxy(maxx-220,maxy-140,"2-Flood the circle.");

            outtextxy(maxx-220,maxy-130,"3-Put in another circle.");     //

            outtextxy(maxx-220,maxy-120,"4-Checking up if circle-2 belonges to the circle-1.");      //    Menu

            outtextxy(maxx-220,maxy-110,"5-Flooding the circle-2.");          //

            outtextxy(maxx-220,maxy-100,"0-Exit");                           //

            scanf("%d",&ch);

            if(ch==1) {circle(x,y,R);

                            getch();};

            if(ch==2) {flooding(x,y,R);

                            getch();};

            if(ch==3) {circle(x,y,R);

                           circle(x2,y2,R2);

                           getch();};

            if(ch==4) {k=check_up_in_put(x,x2,y,y2,R,R2);

                           if(k==0)printf("\n The circle-2 does not belong to the circle-1.\n");

                           else printf("\n The circle-2 belonges to the circle-1.\n");

                           getch();};

            if(ch==5) {input_flooding(x2,y2,x,y,R,R2,color);

                           getch();};

            if (ch!=0&&ch!=1&&ch!=2&&ch!=3&&ch!=4&&ch!=5)

                  {printf("Unknown command.Press an another key.");

                   getch();};

            }

            closegraph();

            exit(0);

}


IV.Тесты.

Координаты и радиус

1 окружности

Координаты и радиус 2 окружности

Принадлежит 2 окружность 1?

Рисунок

1

(200,200), 100

(200,200),50

да

2

(200,200),100

(100,100),20

нет

3

(-10,10),100

(100,100),20

нет

1 окружность не лежит в области экрана

V.Результат

На всех тестах работает верно.


Министерство Образования и Науки РФ

Новосибирский Государственный Технический Университет

Кафедра прикладной математики

Лабораторная работа №1

По объектно-ориентированному программированию

Факультет: ПМИ

Группа: ПМИ-61

Студент: Снегирева А.А.

Преподаватель: Еланцева И.Л.

Новосибирск,2008г.