Смекни!
smekni.com

Программирование на языке С++ (стр. 2 из 2)

CPP.CPP

#include<graphics.h>

#include<math.h>

#include<iostream.h>

#include<stdlib.h>

#include<stdio.h>

#include<conio.h>

int sravnenie(long x1,long x2,long y1,long y2,long r1,long r2)

{int d;

d=int(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));

if (d>(r1+r2)) return 1; else return 0;} //1-ne peresekajutsja 0-peresikajutsja

void main()

{char s,otv;

int dr=DETECT, mod, err;

int color[100],KOL,ist;

long x[100],y[100],r[100],l,i,f,k,j,n;

m1:

initgraph(&dr,&mod," ");

err=graphresult();

if(err) {

cout<<"error initgraph"<<grapherrormsg(err);

exit(1);

}

cout<<"Vvedite kol-vo okruzhnostei -> "; cin>>KOL;

randomize();

cleardevice();

for (i=0;i<KOL;i++)

{

x[i]=random(540)+50;

y[i]=random(320)+80;

r[i]=random(20)+30;

color[i]=random(13)+1;

}

for (i=0;i<KOL;i++)

{ setcolor(color[i]);

circle(x[i],y[i],r[i]); }

outtextxy(5,5,"Press '1' for vivoda okryzhnostei yedinenih");

outtextxy(5,15,"Press '2' for vivoda okryzhnostei sgrypirovanih po 3");

outtextxy(5,25,"Press 'q' for quit");

m: ist=0;

s=getch();

if (s=='1') {

cleardevice();

for (i=0;i<KOL;i++)

{ f=0;

for (j=0;j<KOL;j++)

if (i!=j) if (sravnenie(x[i],x[j],y[i],y[j],r[i],r[j])==1) f++;

if (f==KOL-1) {setcolor(color[i]); circle(x[i],y[i],r[i]); ist++;}

}if (ist==0) cout<<"Takix okryzhnostei net&bsol;n&bsol;n&bsol;n&bsol;n";

} else

if (s=='2') { cleardevice();

for (i=0;i<KOL;i++)

for (j=0;j<KOL;j++)

if (i!=j) if (sravnenie(x[i],x[j],y[i],y[j],r[i],r[j])==0)

{ f=0;

for(l=0;l<KOL;l++)

if ((l!=i)&&(l!=j))

if

(sravnenie(x[i],x[l],y[i],y[l],r[i],r[l])==0)||(sravnenie(x[l],x[j],y[l],y[j],r[l],r[j])==0)) {f++; k=l;}

if (f==1)

for (n=0;n<KOL;n++)

if ((n!=k)&&(n!=i)&&(n!=j))

if (sravnenie(x[n],x[k],y[n],y[k],r[n],r[k])==0) f++;

if (f==1)

{setcolor(color[i]);

circle(x[i],y[i],r[i]);

setcolor(color[j]);

circle(x[j],y[j],r[j]);

setcolor(color[k]);

circle(x[k],y[k],r[k]); ist++;}

}

if (ist==0) cout<<"Takix okruzhnostei net&bsol;n&bsol;n&bsol;n&bsol;n"; } else

if (s=='q') exit(1); else goto m;

cout<<"Snova? (y,n)"; otv=getch();

if (otv=='y') {closegraph(); goto m1;} else exit(1);

}

Руководство пользователя

При запуске курсовой работы на дисплее появится титульный лист сопровождаемый мелодией и анимацией.

Нажмите:

- любую клавишу для остановки мелодии.

- P для проигрывания мелодии

- M для перехода к МЕНЮ

- ESC для выхода

Перейдите к МЕНЮ для запуска курсовой работы

В МЕНЮ наведите курсор на задание и нажмите ENTER. Запускается задание курсовой работы. Просмотрев результат работы задания, нажимаем клавишу клавишу Q и выходим в МЕНЮ. Для выхода из программы нажимаем – ESC.

При работе с программой могут возникнуть проблемы: программа может не запускаться, и выводить ошибку инициализации графики. Чтобы избежать этого пользователь должен перед запуском программы убедиться в том, что файл EGAVGA.BGIнаходится в данном каталоге. В каталоге так же должны находится исполняемые файлы KOMP.EXE(Титульный лист) CPP.EXE(Задание по курсовой работе).

Программа нормально работает в операционных системах WindowsXP/NT/2000/98, а так же в MS-DOS'e. В других операционных системах программа не тестировалась.

Список используемой литературы

- Бьерн Страуструп «Язык программирования С++»

- Дейтел и Дейтел «Как программировать на C++»

- Дейтел и Дейтел «Как программировать на C»

- А.Б.Крупник «Изучаем C++»

- В.В.Подбельский «Язык Си++»

- Курс лекций по предмету «Программирование на ЯВУ»

- Методические указания к лабораторным работам по предмету «Программирование на ЯВУ»