
- •Створимо новий проект.
- •Створимо заголовний файл.
- •Створимо головну функцію.
- •Створимо функцію введення даних з клавіатури даних в масив структур.
- •Створимо функцію виведення даних з масиву структур на екран.
- •Створимо функцію виведення шапки таблиці.
- •Створимо функцію запису даних з масиву структур в файл.
- •Створимо функцію зчитування даних в файлу в масив структур.
Створимо функцію виведення даних з масиву структур на екран.
Імя функції - DispClient. Функція виводить записи з масиву структур у вигляді таблиці, починаючи з деякого початкового номера запису до деякого кінцевого . Це говорить про те, що можна вивести на екран як один запис з масиву структур, так і декілька (або усі).
Вхідні дані (формальні параметри) :
Масив структур;
Індекс елементу масиву структур (початкове значення);
Індекс елементу масиву структур (кінцеве значення);
Вихідні дані:
Функція не повертає нічого.
Реалізація функції введення даних. Створимо новий модуль з ім’ям db_orenda_02_interface.cpp.
void DispClient (Сlient cl[],int start, int finish)
/*========================================================= Функція DispClient
Функця виводить вміст масиву структур на єкран
Вхідні параметри:
Адреса першого елементу масива структур
Индекс элемента массива структур (начальное значение);
Индекс элемента массива структур (конечное значение);
Повертає: не повертає нічого.
===========================================================================*/
{
cout<<setiosflags(ios::fixed);
cout<<setprecision(0);
for (int i=start; i<finish; i++)
{
cout<<"| "<<setw(L_CODE_CLIENT)<<cl[i].codeСlient;
cout<<"| "<<setw(L_ORG_NAME)<< cl[i].orgName;
cout<<"| "<<setw(L_IPN)<<cl[i].IPN;
cout<<"| "<<setw(L_ADRESS)<<cl[i].adress;
cout<<"| "<<setw(L_TELEPHONE)<<cl[i].telephone;
cout<<"| \n";
}
cout.fill('-');
cout<<setw(L_ALL_CLIENT)<<'-'<<"\n";
cout.fill(' ');
cout<<endl<<endl;
return;
}
Внесемо зміни до головної функції:
Додамо пункт меню;
Додамо виклик функції.
#include "orenda.h"
void main()
{
…
do
{
…
cout<<"\t2 - вывод на экран"<<"\n";
cout<<"\t0 - выход;"<<"\n\n";
cout<<"Укажите код операции: ";
cin>>op;
switch (op)
{
…
case 2: // 0-вывод на экран
DispClient (cl,0, nz);
system ("pause");
…
return;
}
Тепер внесемо зміни до файлу orenda.h: додамо прототип функції DispClient .
void DispClient (Сlient cl[],int start, int finish);
Внесемо зміни в функцію AddClient. В ній після того, як ми ввели дані з клавіатури, вони виводяться на екран для перевірки. Рядки коду функції, які відповідають за це, замінимо на виклик функції DispClient.
bool AddClient(Сlient cl[],int n)
{
…
//--------------------------------------------------виведення данних на екран
cout<<"\n\n"<<"Ви ввели наступні дані :\n\n";
DispClient (cl, n, n+1);
cout<<setw(5)<<" "<<"1- зберегти запис\n";
…
}
Створимо функцію виведення шапки таблиці.
Імя функції - BannerClient. Функция выводит шапку таблиці.
Входные данные (формальные параметри): відсутні;
Выходные данные:Функция не возвращает ничего.
Реалізація функції введення даних. Додамо нову функцію в модуль з ім’ям db_orenda_02_interface.cpp.
void BannerClient()
{
cout<<setiosflags(ios::fixed);
cout<<setprecision(0);
//--------------------------------------------------------формування шапки
cout<<"\n Кліенти\n";
cout.fill('-');
cout<<setw(L_ALL_CLIENT)<<'-'<<"\n";
cout.fill(' ');
cout<<"| "<<setw(L_CODE_CLIENT)<< "№";
cout<<"| "<<setw(L_ORG_NAME)<<" Назва організації";
cout<<"| "<<setw(L_IPN)<< " ІПН ";
cout<<"| "<<setw(L_ADRESS)<< "Адреса ";
cout<<"| "<<setw(L_TELEPHONE)<< "Телефон";
cout<<"| \n";
cout.fill('-');
cout<<setw(L_ALL_CLIENT)<<'-'<<"\n";
cout.fill(' ');
}
Внесемо зміни до головної функції: додамо виклик функції BannerClient() .
…
case 2: // 0-вывод на экран
BannerClient();
DispClient (cl,0, nz);
system ("pause");
default: cout<<"Неверно задан код операции\n\n";
}
…
Внесемо зміни до файлу orenda.h: додамо прототип функції BannerClient() .
void BannerClient();