Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример оформл курсовой.doc
Скачиваний:
9
Добавлен:
18.11.2019
Размер:
201.73 Кб
Скачать

Розділ 1 теоретичні відомості замінити на свою тематику

C++ Builder має потужні можливості по створенню…..

Розділ 2 бібліотека користувача

1 Заголовний файл Bibl.H

#ifndef libH

#define libH

#include "DateUtils.hpp" // долучення бібліотеки для роботи з типом даних Дата-Час

#include "stdio.h" //библиотека работы с файлами

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

// глобальне оголошення файлових змінних (для текстового і бінарного файлів)

FILE *fT, *fB;

/* глобальне оголошення структури data з такими полями:

Fam[20] - прізвище

NameWr[20] - ім’я

Otch[20] – по-батькові

dolg[20] - посада

ustr[10] - дата прийому на роботу

zarp - оклад

*/

struct data

{

char Fam[20], NameWr[20], Otch[20], dolg[20], ustr[10];

float zarp;

};

// глобальне оголошення змінної типу data

data dan;

// глобальне оголошення змінних для зберігання імен бінарного і текстового файлів

char *nB="kurs.dat";

char *nT="kurs.txt";

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

int kol(FILE **f); // кількість записів (структури) у файлі

void zapis(FILE **FT, FILE **FB); // створення txt-файла з бінарного умові

// по заданій (Завдання стовпчик 4)

void formir(FILE **f, data mass[],int k); // читання з бін. файла і формування масиву

// структур даних

void sort(data mass[], int k); // сортування (Завдання стовп.3)

#endif

2 Файл реалізації Bibl.Cpp

#pragma hdrstop

#include "Bibl.h"

#pragma package(smart_init)

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

// функція визначення кількості записів

int kol(FILE **f )

{

fseek(*f,0,2); // встановити курсор у кінець файла

int n= ftell(*f)/sizeof(data); // визначити кількість структур у файлі

fseek(*f,0,0); // перемістити курсор на початок файла

return n;

}

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

// функція формування масиву записів

void formir(FILE **f, data mass[], int k)

{

for(int i=0; i<k; i++)

fread(&mass[i], sizeof(dan), 1, *f); // зчитати один запис з файла і записати його як елемент масиву

}

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

// функція сортування масиву за спаданням по полю Оклад

void sort(data mass[], int k)

{

int i,j; data temp;

for(i=0; i<k-1; i++)

for(j=i+1; j<k; j++)

if(mass[i].zarp < mass[j].zarp) // (див. свій варіант сорт. у стовп.3)

{

temp = mass[i];

mass[i] = mass[j];

mass[j] = temp;

}

}

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

// Функція запису до текстового файла даних з бінарного файла по заданій умові (див. Стовп.4)

void zapis(FILE **FT, FILE **FB)

{

// допоки не дійшли до кінця бінарного файла зчитувати дані з нього

while( fread(&dan, sizeof(dan), 1, *FB)>0 )

// перевірка умови (завдання стовп.4) і, якщо вона виконується,

// записати дані до текстового файла

if (YearSpan(Now(),StrToDate(dan.ustr))>5)

fprintf(*FT,"%s %s %s %s %s %5.2f\n",&dan.Fam,&dan.NameWr,&dan.Otch,&dan.dolg, &dan.ustr, dan.zarp); // змінити імена полів для свого варіанта

}