Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РГР_ТП_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
476.16 Кб
Скачать

Приложение в

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

Пример В.1. Запись структуры в файл:

#include<fstream.h>

void main(void)

{

struct date

{

int day; char month[9]; int year;

}d={25,"ноября",1991};

ofstream out_file("file3.dat") ;

out_file.write((char *) &d, sizeof(date));

out_file.close (); }

Пример В.2. Чтение структуры из файла и вывод ее элементов на экран:

#include<iostream.h>

#include<fstream.h>

void main(void)

{

struct date

{

int day; char month[9]; int year;

}d;

ofstream in_file("file3.dat");

in_file.read((char *) &d, sizeof(date));

cout<<d.day<<" "<<d.month<<" "<<d.year<<endl;

in_file.close () ; }

В результате последовательного выполнения этих двух про­грамм на экран дисплея будет выведено: 25 ноября 1991.

Приложение г

Справочник графических функций

Таблица Г.1 - Именованные константы цветов

Цвет

Const

Значение

Черный

Black

0

Синий

Blue

1

Зеленый

Green

2

Бирюзовый

Cyan

3

Красный

Red

4

Сиреневый

Magenta

5

Коричневый

Brown

6

Светло-серый

LightGray

7

Серый

DarkGray

8

Голубой

LightBlue

9

Светло-зеленый

LightGreen

10

Светло-бирюзовый

LightCyan

11

Светло-красный

LightRed

12

Светло-сиреневый

LightMagenta

13

Желтый

Yellow

14

Белый

White

15

Таблица Г.2 – Прототипы графических функций для работы с объектами

Функция

Описание

void arc (int x, int y, int stangle, int endangle, int radius);

дуга с центром в (x, y) и радиусом radius. Параметры stangle и endangle задают круговые координаты начальной и конечной точки. Угол измеряется в градусах и отсчитывается против часовой стрелки, где 0 градусов соответствует трем часам на циферблате. Если stangle равен 0, а endangle равен 360, функция arc() рисует полную окружность.

void bar (int left, int top, int right, int bottom);

рисует закрашенный прямоугольник. Прямоугольник закрашивается текущим цветом и с использованием текущего шаблона заполнения. Верхний левый и нижний правый углы прямоугольника заданы параметрами (left, top) и (right, bottom) соответственно.

void drawpoly (int numpoints, int *polypoints)

рисует многоугольник.

void circle (int x, int y, int radius);

окружность с центром в точке (x, y) и радиусом radius (единица измерения – пиксель).

void bar3d (int left, int top, int right, int bottom, int depth);

рисует “трёхмерный прямоугольник” (подобие параллелепипеда), начиная от верхнего левого угла до правого нижнего угла и с указанием глубины depth.

void ellipse (int x, int y, int stangle, int endangle, int xradius, int yradius);

рисует эллипс с координатами в точке (x, y), начальным и конечным углами stangle, endangle, и радиусами xradius, yradius по осям x и y.

void fillellipse (int x, int y, int rx, int ry);

рисует эллипс с центром в точке (x, y), горизонтальной и вертикальной осями rx и ry соответственно, и закрашивает его текущим цветом, используя текущий шаблон.

void fillepoly (int numpoints, int *polipoints);

рисует контур многоугольника, имеющий numpoints точек, а затем закрашивает его. Polipoints – указатель на последовательность из (numpoints*2) целых чисел. Каждая пара чисел (x, y) является координатами вершины многоугольника.

void line (int x1, int y1, int x2, int y2);

чертит на экране прямую линию от точки с координатами (x1, y1) до точки с координатами (x2, y2).

void pieslice (int x, int y, int stangle, int endangle, int radius);

рисует и закрашивает сектор круга с центром в точке (x, y) и радиусом radius. Сектор рисуется от угла stangle до угла endangle. Угол измеряется в градусах и отсчитывается против часовой стрелки, где 0 градусов соответствует трем часам на циферблате.

void rectangle (int left, int top, int right, int bottom);

чертит прямоугольник, расположенный на экране горизонтально (вертикально), координатой левого верхнего угла (left, top) и правого нижнего – (right, bottom).

void floodfill (int x, int y, int border);

область, ограниченная цветной границей, закрашивается установленным образцом и цветом.

void getbkcolor();

возвращает значение типа int текущего цвета фона.

unsigned getpixel (int x, int y);

обратная функция, которая определяет цвет точки с координатами (x, y).

void getcolor();

возвращает значение типа int установленного на данный момент цвета.

void cleardevice();

очищает экран в графическом режиме и возвращает текущую позицию указателя в точку с координатами (0, 0).

void getimage (int left, int top, int right, int bottom, void far *bitmap);

сохраняет картинку в специально отведённой области памяти, где left, top, right, bottom координаты картинки, *bitmap - указатель на область памяти.

void getpixel (int x, int y);

возвращает номер цвета точки, находящейся по координатам (x, y).

void clearviewport();

стирает область просмотра и перемещает текущую позицию в точку с координатами

(0, 0) относительно области просмотра.

void linerel (int dx, int dy);

рисует линию от текущей позиции до точки, находящейся на относительном расстоянии от текущей позиции, затем передвигает текущую позицию.

void lineto (int x, int y);

рисует линию от текущей позиции до точки с координатами (x, y), затем переносит текущую позицию в (x, y).

void putpixel (int x, int y, int color);

рисует точку с координатами (x, y) и цветом color.

void sector (int x, int y, int stangle, int endangle, int xradius, int yradius);

рисует сектор круга установленным цветом, затем заполняет его, используя образец и цвет, установленные функциями setfillstyle или setfillpattern.

void setbkcolor (int color);

устанавливает цвет фона по его номеру, заданному переменной color.

void setcolor (int color);

устанавливает цвет по его номеру, заданному переменной color.

void setfillstyle (int pattern, int color);

устанавливает образец и цвет заливки.

void setlinestyle (int linestyle, unsigned upattern, int thickness);

устанавливает стиль рисуемых линий для функций рисования line, lineto, rectangle, drawpoly.

Таблица Г.3 – Типы линий

Название

Описание

Значение

SOLID_LINE

сплошная

0

DOTTED_LINE

пунктирная

1

CENTER_LINE

штрих-пунктирная

2

DASHED_LINE

штриховая

3

USERBIT_LINE

Тип, определяемый пользователем (параметр upattern)

4

Таблица Г.4 – Прототипы графических функций для работы с текстом

Функция

Описание

void moverel (int dx, int dy);

перемещает текущую позицию на относительное расстояние.

void moveto (int x, int y);

перемещает текущую позицию в точку с координатами (x, y).

void outtext (char far *textstring);

выводит строку в графическом режиме. Строка должна быть заключена в кавычки.

void outtextxy (int x, int y, char far *textstring);

выводит строку в графическом режиме, предварительно перейдя в точку с координатами (x, y).

void settextjustify (int horiz, int vert);

устанавливает выравнивание текста для графического режима. По умолчанию стоит выравнивание по верхнему левому углу.

void settextstyle (int font, int direction, int charsize);

устанавливает характеристики текста: стиль, положение (горизонтальное или вертикальное), размер шрифта.

void setusercharsize (int multx, int divx, int multy, int divy);

устанавливает определённый пользователем «коэффициент сжатия» шрифта. По умолчанию ширина шрифта определена как multx:divx, высота как multy:divy.

void textheight (char far *textstring);

возвращает высоту строки в количестве точек.

void textwidth (char far *textstring);

возвращает ширину строки в количестве точек.

Таблица Г.5 - Типы шрифтов

Шрифт

Константа

Значение

Точечный шрифт 8x8 пикселей

DefaultFont

0

Утроенный шрифт TRIP.CHR

TriplexFont

1

Уменьшенный шрифт LITT.CHR

SmallFont

2

Прямой шрифт SANS.CHR

SansSerifFont

3

Готический шрифт GOTH.CHR

GothicFont

4

Таблица Г.6 - Особые шрифты

Шрифт

Значение

Файл

«Рукописный» шрифт

5

scri.chr

Одноштриховый шрифт типа Courier

6

simp.chr

Красивый наклонный шрифт типа Times Italic

7

tscr.chr

Шрифт типа Times Roman

8

Icom.chr

Шрифт типа Courier увеличенного размера

9

euro.chr

Крупный двухштриховый шрифт

10

bold.chr

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]