Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Примеры программ






 

 

Движение прямоугольника по треугольному контуру.

Динамические объекты.

 


Движение прямоугольника по треугольному контуру.

Статические объекты.

#include < conio.h>

#include < graphics.h>

#include < iostream.h>

#include < process.h>

#include < string.h>

#include < dos.h>

 

class graphworld

{int driver, mode, grerror, colb, bkcl;

char path[80];

public:

graphworld();

void closegraphworld();

};

 

graphworld:: graphworld()

{strcpy(path, " c: \\turboc30\\bgi");

driver=0;

initgraph(& driver, & mode, path);

grerror=graphresult();

if(grerror! =grOk)

{cout< < " \nОшибка открытия графического режима";

abort;

}

setcolor(RED);

setbkcolor(BLACK);

cleardevice();

}

 

void graphworld:: closegraphworld()

{cleardevice();

closegraph();

}

 

class location

{protected:

int x, y;

public:

location(int initx, int inity);

int getx();

int gety();

};

 

location:: location(int initx, int inity)

{x=initx;

y=inity;

}

 

int location:: getx()

{return x;

}

 

int location:: gety()

{return y;

}

 

class point: public location

{protected:

int visible;

void setvisible(int pr);

public:

point(int initx, int inity);

~point();

virtual void show();

virtual void hide();

int getvisible();

void moveto(int nx, int ny);

};

 

point:: point(int initx, int inity): location(initx, inity)

{

}

 

point:: ~point()

{hide();

}

 

void point:: moveto(int nx, int ny)

{hide();

x=nx;

y=ny;

show();

}

 

void point:: setvisible(int pr)

{visible=pr;

}

 

void point:: show()

{putpixel(x, y, getcolor());

setvisible(1);

}

 

void point:: hide()

{putpixel(x, y, getbkcolor());

setvisible(0);

 

}

 

class pramoug: public point

{int dx, dy;

public:

pramoug(int initx, int inity, int initdx, int initdy);

~pramoug();

void show();

void hide();

};

 

pramoug:: pramoug(int initx, int inity, int initdx, int initdy): point(initx, inity)

{dx=initdx;

dy=initdy;

}

 

void pramoug:: show()

{line(x, y, x, y+dy);

line(x, y+dy, x+dx, y+dy);

line(x+dx, y+dy, x+dx, y);

line(x, y, x+dx, y);

}

 

void pramoug:: hide()

{int r;

r=getcolor();

setcolor(getbkcolor());

line(x, y, x, y+dy);

line(x, y+dy, x+dx, y+dy);

line(x+dx, y+dy, x+dx, y);

line(x, y, x+dx, y);

setcolor(r);

}

 

pramoug:: ~pramoug()

{hide();

}

 

void main(void)

{graphworld world;

int x = 150,

y = 100;

getch();

cleardevice();

pramoug pt(x, y, 200, 100);

delay(750);

pt.show();

do

{do

{x += 3; y++;

pt.moveto(x, y);

delay(5);

}

while(! (y > = 200));

do

{x--; y++;

pt.moveto(x, y);

delay(5);

}

while(! (y > = 400));

do

{x--; y -= 3;

pt.moveto(x, y);

delay(5);

}

while(! (y < = 100));

}

while(! (kbhit()));

getch();

world.closegraphworld();

}

 


Литература

 

1 Павловская Т.А. C/C++. Программирование на языке высокого уровня. СПб.: Питер, 2001. – 464 с.

2 Павловская Т.А., Щупак Ю.А. C/C++. Структурное программирование: Практикум. СПб.: Питер, 2002. - 240 с.

3 Культин Н.Б. C/C++ в задачах и примерах. СПб.: БХВ-Петербург, 2001. – 288 с.

4 Керниган Б., Ритчи Д., Фьюэр А. Язык программирования Си. М.: Финансы и статистика, 1985. – 384 с.

5 Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. Харьков: Фолио, 1997 г. – 368с.

6 ГОСТ 19.701-90 ЕСПД Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

7 ГОСТ 7.32-2001 Система стандартов по информации, библиотечному и издательскому делу. Отчет по научно-исследовательской работе. Структура и правила оформления.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.