Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_Лаб_Гриф.doc
Скачиваний:
7
Добавлен:
14.11.2019
Размер:
2.81 Mб
Скачать

Індивідуальне завдання до заняття №18

Скласти проект для багатофайлової структури програми. Розробити заголовочний файл, у якому розташовані глобальні дані й оголошення зовнішніх функцій. Розробити допоміжний файл, у якому розташовані визначення зовнішніх функцій і оголошення і перевизначення даних.

Проект повинний містити:

- оголошення і використання глобальних і локальних перемінних;

- передачу глобальних даних як параметрів функцій;

- перевизначення глобальних даних усередині функцій;

- виклик з допоміжного файлу зовнішньої функції;

- виклик з основного файлу зовнішніх функцій;

  • перевизначення функцій у допоміжних файлах.

Індивідуальні завдання знаходяться в таблиці 18.1 і таблиці 18.2.

Таблиця 18.1 – Організація файлів у структурі проекту

Варіанти

Структура проекту

1 - 10

основний файл; 2 допоміжних файли; заголовочний файл

11 - 20

основний файл; 3 допоміжних файли; заголовочний файл

21 - 30

основний файл; 4 допоміжних файли

Таблиця 18.2 – Функції і дані для використання в проекті

Варіант

Локальна функція

Зовнішня функція

Перевизначена функція

Локальні дані

Зовнішні дані

Перевизначені дані

1, 11, 21

auto int first (int, float)

void second (int *,float *)

static float *first(float)

auto int var1

Const float var2

static long int var1

2, 12, 22

auto cdecl int first (int, float)

void second (int *,float *)

static pascal char *first (int,…)

auto long unsigned int var1

Double var2

static float var1

3, 13, 23

near auto int first (int, float)

void far second (int *, float *)

huge static int *first (double)

auto int var1

Extern float var2

static short unsigned int var1

4, 14, 24

auto int first (near int, near float)

far void * pascal near second (far int *, far float *)

static unsigned int *first(char)

near auto double var1

Extern unsigned short int var2

static char var1

5, 15, 25

pascal auto int first (int)

char far * (far * second) (int *, float *)

cdecl static far short int *first (float, float)

register char var1

far double var2

static int var1

6, 16, 26

cdecl auto int first(int, float)

extern near void * second (int *, float *)

static near double * first (void, …)

auto long int var1

float var2

static double var1

7, 17, 27

huge auto int first (near int *, far int *)

extern void second (int *, float *)

near static float *first (void)

register int var1

extern near float var2

near static double var1

8, 18, 28

far int * auto huge first (huge int, huge float)

void pascal second (int *, float *)

static short int *first (float *)

huge int var1

far double var2

static long unsigned int var1

9, 19, 29

auto int first(int, float)

near void * extern far pascal second (int *, float *)

static float *first (float)

auto int var1

far extern float var2

near static char var1

10, 20, 30

auto far int * (first) (int *, …)

void second (int *, float *)

int far * pascal far first( )

auto float var1

extern huge float var2

extern long int var1

Вимоги до змісту звіту приведені в занятті №1.