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

Структури і масиви структур



ПРАКТИЧНА РОБОТА №6

Структури і масиви структур

Мета роботи: отримання практичних навичок в роботі з інтегрованими типами даних - структурами і масивами структур мови C++.

Теми для попереднього опрацювання:

- Масиви.

- Структури.

- Символи та рядки.

Завдання:

Розробити програмний продукт для введення и виведення 7 - 10 рядків в поля таблиці.

Складові частини програмного продукту:

- заголовний файл, який містить оголошення іменованих констант, опис структури і прототипи функцій;

- модуль 1, який містить головну функцію;

- модуль 2, який містить функції роботи з базою даних: функцію введення даних;

- модуль 3,який містить функції виведення на екран рядків таблиці та функцію виведення шапики таблиці.

 

Варіанти індивідуальних завдань див. теми курсових проектів.

Теоритичні відомості див. конспект лекцій

Послідовність дій виконання завдання.

Цей пункт розглянемо на прикладі створення системи управління базою даних «Оренда торгівельних площ».

База клієнтів - орендаторів знаходиться в оперативній пам’яті у вигляді записів. Кожен запис містить відомості про одного клієнта. Оскільки ці відомості разнорідні, зручно організувати їх у вигляді структури. Максимальна кількість рядків нехай буде обмежена і дорівнює 100 елементам. Тому можна виділити для їх зберігання масив з 100 елементів, кожен елемент якого є структурою. Таким чином, наша база даних є масивом структур.

Код клієнта

Назва організації

Індивідуальний податковий номер

Адреса

Телефон

 

Аренда сервис

 

Адреса 1

 

int

char[]

double

char[]

int

         

Вхідні даниі:

Код клієнта – ціле число. Генерується автоматично.

Назва організації – символьний рядок завдовжки 30 символів.

ІПН – ціле число подвійної точності.

Адреса - символьний рядок завдовжки 20.

Телефон – ціле число.

 

1.

Состояние среды разработки на начало выполнения лаб. раб. №6

 

2. 2

Сохраните файлы лаб. раб. №5.

- 3

Создать в папке Source Files подпапку ORENDA_01 и переместить туда все cpp файлы проекта.

 

Для создания подпапки ORENDA_01 необходимо использовать команду NewFilter:

-

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

 

 

-

Спрятать содержимое подпапки ORENDA_01.

 

 

3. 4

Создайте структуру 2-й версии проекта «Аренда торговых площадей»



-

Создать в папке Source Files подпапку ORENDA_02.

 

 

- 5

Создать файл orenda_02.h и скопировать в него информацию из файла orenda_01.h

 

4. 4

Внесте изменения в файл orenda_02.h

-

Удалить из файла orenda_02.h строки, которые содержат прототипы функций, оставив только комментарий

 

//======================================================================

// Прототипи функцій

//----------------------------------------------------------------------

- 7

Добавить описание структуры. Наличие комментариев – обязательно.

-

С помощью именованной константы задать максимальное число записей в таблице «Клиенты».

 

5. 8

Создайте и измените модуль, содержащий главную функцию.

-

В папке ORENDA_02 создать файл db_Orenda_02_01_main.cpp

Скопировать в него программу из файла db_Orenda_01_main.cpp, который находится в папке ORENDA_01.

 

-

Внести изменения в главную функцію с именем main

 

а) объявить одномерный массив типа структура размером N_CLIENT_MAX;

б) по желанию студента, создать перечисляемый тип, который состоит из именуемых констант, необходимых для реализации опреатора switch. Программа будет более читабельной.

в) закомментировать вызовы функции AddClient, BannerClient и DispClient.

-

Подключить заголовочный файл orenda_02.h вместо файла orenda_01.h

-

Убрать описание переменных, которые формируют строку таблицы. Они были необходимы для выполнение лаб. раб. №5. Так как данный вариант программной системы выполняется с помощью массива структур, то необходимость в них отпадает.

-

Запустить проект на выполнение. Убедится в том, что синтаксичесие ошибки отсутствуют.

6. 8

Создайте и измените модуль, содержащий функции работы с базой данных.

-

В папке ORENDA_02 создать файл db_Orenda_02_02_Data_Base.cpp

Скопировать в него программу из файла db_Orenda_02_Data_Base.cpp, который находится в папке ORENDA_01.

 

-

Подключить заголовочный файл orenda_02.h вместо файла orenda_01.h

-

Внести изменения в комментарий к функции AddClient.

 

-

Изменить заголовок функции AddClient.

 

-

Внести изменения в текст программы AddClient.

Обращения к отдельным переменным, которые отвечают за формирование строки таблицы, заменить на обращения к отдельным полям элемента массива структур.

Например, доступ к полю «Код клиента» i-го элемента массива структур можно осуществить с.о:

 

-

Закомментируйте вызов функции DispClient

7.

Внесите изменения в заголовочный файл orenda_02.h.

-

В область, которая должна содержать прототипы функций, добавьте прототип функции AddClient

 

-

Область прототипов функций переместите в конец файла orenda_02.h после описания структуры. Это вызвано тем, что прототип функции содержит формальный параметр типа структура.

8.

Вернитесь к модулю db_Orenda_02_02_Data_Base.cpp. и выполните компиляцию данного модуля. При наличии ошибок, исправьте их.

9. 8

Создайте и измените модуль, содержащий функции работы с базой данных.

-

В папке ORENDA_02 создать файл db_orenda_02_03_interface.cpp.

Скопировать в него функции из файла db_orenda_03_interface.cpp, который находится в папке ORENDA_01.

-

Подключить заголовочный файл orenda_02.h вместо файла orenda_01.h

-

В функцию DispClient внесите изменения в комментарий к функции. Теперь она будет выводить на экран элементы массива структур, начиная с некоторого начального значения до некоторого конечного значения.

 

-

Измените заголовок функции DispClient

 

-

Для вывода записей с некоторого значения start по некоторое значение finish организуйте цикл for.

 

Обращения к отдельным переменным заменить на обращения к отдельным полям текущего элемента массива структур. Например, доступ к полю «Код клиента» i-го элемента массива структур можно осуществить с.о:

 

...

10.

Внесите изменения в заголовочный файл orenda_02.h.

-

В область, которая должна содержать прототипы функций, добавьте прототипы функций DispClient и BannerClient.

11.

Внесите изменения в модулю db_Orenda_02_02_Data_Base.cpp.

-

В функции AddClient

 

а) Снимите комментарий строки, которая содержит вызов функции DispClient

б) Измените вызов этой функции: DispClient (cl, і, i+1);

12.

Внесите изменения в главную функцию

-

снимите комментарий строки, которая содержит вызов функции AddClient

-

Измените вызов функции: DispClient (cl, і, i+1);

13.

Выполните компиляцию каждого из модулей. Убедитесь, что ошибки отсутствуют.

14.

Внесите изменения в модуль db_Orenda_02_01_main.cpp.

-

Уберите комментарий перед вызовами функций BannerClient() и DispClient

-

Измените вызов функции DispClient

 

15.

Запустите проект на выполнение.

-

Введите несколько записей. Убедитесь, что проект работает правильно.

 


Дата добавления: 2015-08-28; просмотров: 26 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Причины почему стоит и не стоит жить. | Аллегория- иносказательное изображение абстрактного понятия или явления через конкретный образ: трусость и беззащитность – Заяц; тупость – Осёл; хитрость - Лиса; деспотизм – Лев.

mybiblioteka.su - 2015-2024 год. (0.023 сек.)