printf("\n There are such element");
else printf("\n There are no such element.");
getch();};
public:void print(){while(u->pred!=NULL){u=u->pred;};
while(u->next!=NULL)
{u=u->next;
printf("\n(x,y)=(%d,%d)\nR=%d",u->Circle.get_x(),u->Circle.get_y(),u->Circle.get_R());};
getch();};
public:void reverseprint(){while(u->next!=NULL)u=u->next;
while(u->pred!=NULL)
{printf("\n(x,y)=(%d,%d)\nR=%d",u->Circle.get_x(),u->Circle.get_y(),u->Circle.get_R());
u=u->pred;};
getch();};
public:container(){u=new och;
u->next=NULL;
u->pred=NULL;};
public:~container(){while(u->pred!=NULL)u=u->pred;
while(u->next!=NULL)
{temp=u;
u=u->next;
u->pred=NULL;
delete temp;}
u=NULL;};
};
/***********************Программа****************************/
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include"Z:\help.cpp"
void main()
{container test;
int menu=50;
clrscr(); /*Clear the screen.*/
int gd, gm, error;
detectgraph(&gd, &gm);
initgraph(&gd, &gm, "Y:\\bc\\bgi");
error=graphresult();
//-----------------proverka na oshibki-----------//
if(error!=grOk)
{
puts("oshibka grafiki");
puts(grapherrormsg(error));
exit(1);
}
//-----------------------------------------------//
cleardevice();
clearviewport();
settextstyle(SMALL_FONT,HORIZ_DIR,4);
setfillstyle(SOLID_FILL,14);
maxx=getmaxx();
maxy=getmaxy();
while(menu!=0)
{clrscr();
outtextxy(maxx-300,maxy-210,"Choose the operation:");
outtextxy(maxx-300,maxy-190,"1-Add element.");
outtextxy(maxx-300,maxy-180,"2-Search element.");
outtextxy(maxx-300,maxy-170,"3-Direct way of printing.");
outtextxy(maxx-300,maxy-160,"4-Reverse way of printing.");
outtextxy(maxx-300,maxy-150,"0-Exit");
scanf("%d",&menu);
if (menu==1) {clrscr(); test.add_el(); clrscr();};
if (menu==2) {clrscr(); test.search_el(); clrscr();};
if (menu==3) {clrscr(); test.print();clrscr();};
if (menu==4) {clrscr(); test.reverseprint(); clrscr();};
if (menu!=0&&menu!=1&&menu!=2&&menu!=3&&menu!=4){printf("Unknown operation!"); getch();};
};
fclose(fp);
fclose(fp2);
closegraph();
exit(0);
}
4. Тесты:
Входные данные |
Проверка |
«Распечатка» в прямом порядке |
«Распечатка» в обратном порядке |
Результаты поиска |
100,100 10||200,200,20||300,300,30 |
окружности |
(100,100) 10||(200,200),20||(300,300),30 |
||
5. Результаты тестирования.
Программа на всех тестах работает корректно и выдает правильный результат. Все функции выполняются верно. Распечатка геометрических параметров окружности выполняется успешно как в последовательном, так и в обратном направлении, поиск выполняется по средствам последовательного перебора.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.