Студопедия

Главная страница Случайная страница

Разделы сайта

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






Приклад виконання лабораторної роботи. Тема:Робота з файлами даних.






Тема: Робота з файлами даних.

Завдання:

Скласти файл, що містить дані о працівниках. Дані о працівниках мають таку інформацію: табельний номер, ПІБ, посада, дата прийняття на роботу, оклад. Розпечатати дані про техніка, отриманого найбільшу зарплатню.

Програма рішення задачі:

/* директиви препроцесору */

#include < iostream.h>

#include < stdio.h>

#include < сstdlib.h>

int main () /* початок головної функції */

{

const int n=3;

FILE *G; // опис файлу

struct rabotnik // опис структури

{ int nomer,

char tip[20];

char FIO[40];

char posada[20];

float oklad;

int data;

}s1; // опис масиву структур

int i;

if ((G=fopen(" danie_Rob", " wb"))==NULL)

{

cout< < " ERROR OPEN1 FAIL";

exit(1); // вихід з програми, якщо файл не створено

}

for (i=0; i< n; i++) //цикл для введення даних

{ cout< < " Nomer: ";

cin> > s1.nomer;

cout< < " FIO: ";

cin> > s1.FIO;

cout< < " Posada: ";

cin> > s1. posada;

cout< < " Oklad: ";

cin> > s1. oklad;

cout< < " Data: ";

cin> > s1. data;

fwrite(& s1, sizeof(struct rabotnik), 1, G); //запис даних в файл

}

fclose(G); //закриття файлу

char posad[20];

float max=0;

cout< < " Input posadu dlya poiska: ";

cin> > posad;

if ((G=fopen(" danie_Rob", " r"))==NULL)

{cout< < " ERROR OPEN2 FAIL ";

exit(1); // вихід з програми, якщо файл не створено

}

cout< < " \n Result" < < endl;

for (i=0; i< n; i++)

{ fread (& s1, sizeof(struct rabotnik), 1, G); // читання даних з файлу

if (s1.oklad> max) max= s1.oklad;

}

fclose(G); //закриття файлу

for (i=0; i< n; i++)

{ fread (& s1, sizeof(struct rabotnik), 1, G); // читання даних з файлу

if (s1.oklad== max & & s1.posada==posad)

// друк результату

cout< < " Nomer: " < < s1.nomer < < endl;

cout< < " FIO: " < < s1.FIO < < endl;

cout< < " Oklad: " < < s1.oklad < < endl;

cout< < " posada: " < < s1.posada< < endl;

cout< < " Data: " < < s1.data < < endl;

}

fclose(G); //закриття файлу

return 0;

}

Результат:

Nomer: 1

FIO: Ivanov A.O.

Posada: Tehnik

Oklad: 750

Data: 2000

 

Nomer: 2

FIO: Petrova A.O.

Posada: Tehnik

Oklad: 1750

Data: 2006

 

Input posadu dlya poiska: Tehnik

Result

Nomer: 2

FIO: Petrova A.O.

Posada: Tehnik

Oklad: 1750

Data: 2006






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.