![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Примеры программ⇐ ПредыдущаяСтр 18 из 18
Движение прямоугольника по треугольному контуру. Динамические объекты.
Движение прямоугольника по треугольному контуру. Статические объекты. #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 Система стандартов по информации, библиотечному и издательскому делу. Отчет по научно-исследовательской работе. Структура и правила оформления.
|