Иллюстрированный самоучитель по С++ для начинающих

Решения (задачи 200-219)

Задача 205.

// Рисует олимпийский флаг
#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h>
#define PATHTODRIVER "с:\\borlandc\\bgi\\" void main(void)
int gdriver = DETECT; // драйвер
int gmode; // режим
int errorcode; // код ошибки
initgraph(sgdriver, Sgmode, PATHTODRIVER);
errorcode = graphresult();
if (errorcode!= grOk) // ошибка инициализации
// графического режима
printf("Ошибка: %d\n", errorcode);
puts("Для завершения программы нажмите Enter");
getch();
exit(l);
// полотнище флага – сплошная заливка серым цветом
setfillstyle(SOLID_FILL,LIGHTGRAY); // bar(80.80.200.135);
// кольца
setcolor(GREEN); // зеленое
circle(100.100.15);
setcolor(BLACK); // черное
circle(140.100.15);
setcolor(RED); // красное
circle(180.100.15);
setcolor(YELLOW); // желтое
circle(120.115.15);
setcolor(BLUE); // синее
circle(160.115.15);
getch();
closegraph(); // выход из графического режима

Задача 208.

// Выводит корабль (с использованием метода базовой точки)
finclude <graphics.h> iinclude <stdlib.h> #include <stdio.h> #include <conio.h>
#defme dx 10, '/ шаг сетки по X
#define dy 10, 11 шаг сетки по Y
void shipfint x, int у) // х, у – координаты базовой точки
/ / корпус
moveto(x,у);
lineto(x,y-2*dy);
lineto (х+ЮМх, y-2*dy);
lineto(x+ll*dx,y-3*dy);
lineto(x+17*dx,y-3*dy);
lineto(x+14*dx,y);
lineto(x,y);.
// надстройка
moveto(x+3*dx,y-2*dy);
lineto(x+4*dx,y-3*dy);
lineto(x+4*dx,y-4*dy);
lineto(x+13*dx,y-4*dy);
lineto (x+13*dx,y-3*dy);
line(x+5*dx,y-3*dy,x+9*dx,y-3*dy);
// капитанский мостик
rectangle(x+8*dx,y-4*dy,x+ll*dx,y-5*dy);
// труба
rectangle(x+7*dx,y-4*dy,x+8*dx,y-7*dy);
// иллюминаторы
circle(x+12*dx,y-2*dy,dx/2);
circle(x+14*dx,y-2*dy,dx/2);
// мачта
line(x+10*dx,y-5*dy,x+10*dx,y-10*dy);
// оснастка
moveto(x+17*dx,y-3*dy);
lineto(x+10*dx,y-10*dy);
lineto(x,y-2*dy);
fdefine PATHTODRIVER "с: WborlandcWbgiW" void main(void)
int gdriver = DETECT; // драйвер.
int gmode; // режим
int errorcode; // код ошибки
initgraph(&gdriver, &gmode, PATHTODRIVER);
errorcode = graphresult();
if {errorcode!= grOk) // ошибка инициализации
// граф. режима
printf("Ошибка: %d\n", errorcode);
puts("Для завершения программы нажмите Enter");
getch();
exit (1);
ship(50.150); getch ();
closegraph(); // выход из графического режима
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.