Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
S__Ukr_metod_avtomatchiki.doc
Скачиваний:
5
Добавлен:
15.11.2019
Размер:
1.33 Mб
Скачать
  1. Методичні вказівки до лабораторної роботи №13

    1. Приклад виконання лабораторної роботи.

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

Завдання:

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

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

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

#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

    1. Завдання до лабораторної роботи №13.

Написати програму, яка з допомогою окремих функцій виконує наступні дії:

1) формування декілька елементів файлу з даними типу структури, вказаними у таблиці;

  1. виведення на екран елементів масиву записів у відповідності з завданням.

Номер

варіанту

Завдання

1

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

2

Відомості про гравців команди "Чорноморець": номер на полі, ПІБ, амплуа (воротар, захисник і т.д.), кількість голів за сезон. Роздрукувати дані про нападаючого, що забив більше всіх голів за сезон.

3

Список абонентів телефонної мережі: поточний номер абонента, ПІБ, адреса, номер телефону (виводити за шаблоном 00 - 000 - 000), заборгованість по оплаті. Роздрукувати дані про абонентів, телефонні номери котрих починаються з номера 22 і які мають найбільшу заборгованість.

4

Список підприємств міста, що випускають електронне обладнання: найменування заводу, вид продукції, кількість виробленої продукції за квартал, рентабельність підприємства (якщо підприємство збиткове, то значення рентабельності від'ємне). Роздрукувати дані про підприємство, котре випускає максимальну кількість «Приймачів»

5

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

6

Список відомостей про транзистори: порядковий номер, тип транзистора, матеріал, коефіцієнт передачі по струму (мінімальне і максимальне значення). Роздрукувати відомості про транзистори германієвого типу, в яких коефіцієнт передачі максимальний.

7

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

8

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

9

Список громадян, у котрих дуже оригінальні прізвища:

номер пo порядку, ПІБ, адреса, вік.

Роздрукувати дані про громадян, у котрих саме довге прізвище, а вік - в діапазоні 45 - 55 років.

10

Список електронних компонентів найменування, для якої продукції використовується, в якій кількості, вартості. Роздрукувати дані про «конденсатори» та загальну їх вартість.

11

Відомості про високочастотні кабелі: номер, тип кабелю, погонну ємність, погонний опір, робочу напругу, зовнішній діаметр. Роздрукувати дані про кабель, у якого погонний опір рівний 75 Ом, і який має найбільшу робочу напругу.

12

Список ЕОМ, які використовуються в дисплейному залі: номер за порядком, тип ЕОМ, тактова частота, оперативна пам'ять, ємність рік встановлення в класі.

Роздрукувати дані про ЕОМ, у котрих тактова частота більше 150 МГц і оперативна пам’ять не менше 16 МБт.

13

Список музичних дисків у звукостудії: номер, назва диска, кількість пісень, час звучання, ціна диска. Роздрукувати дані про диски, в котрих не менше 10 пісень по ціні від 5 до 8 грн.

14

Список співробітників підприємства: табельний номер, ПІБ, посада, рік народження, стать (за шаблоном: чол. -чоловік, жін. - жінка), адреса. Роздрукувати окремо один від одного дані про середній вік співробітників чоловічої і жіночої статі.

15

Список засобів індивідуального захисту від ураження електричним струмом: інвентарний номер, найменування, рік випробовування (по шаблону: ДД-ММ-РР), якою напругою випробувано.

Роздрукувати дані про засоби захисту), котрі випробувані напругою більше 5000 В.

16

Відомості про автомобілі для продажу: дійсний номер, тип автомобілю, тип двигуна, кілометраж пробігу, стартову ціну продажу, рік випуску.

Роздрукувати дані про автомобілі, у котрих пробіг менше 50000 км і рік випуску менше 2 років.

17

Список фільмів в фільмотеці: порядковий номер, назва фільму, час демонстрації, рік випуску, кількість копій.

Роздрукувати дані про фільм з найбільшим часом демонстрації і з найбільшою кількістю копій.

18

Відомості про сезонне розподілення температури в місті: дата, (по шаблону ДЦ-ММ-РР), середня температура за добу, максимальне відхилення температури від середньої.

Роздрукувати дані про дні, коли середня температура була вище , а максимальне відхилення не перевищувало.

19

Відомості про статичну похибку каналу телевимірювання (ТВ) споживання електроенергії: порядковий номер, дата (по шаблону ДД-ММ-РР), найменування напрямку лінії, показання електролічильника, показання датчика ТВ.

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

20

Відомості про медикаменти в аптеці: номер, найменування ліків, строк придатності (по шаблону ДД-ММ-РР), ціна.

Роздрукувати дані про ліки, строк придатності котрих закінчується в цьому році, і порахувати суму уявних збитків.

21

Відомості про тривалість відмов лінії зв'язку: напрямок каналу зв'язку, дата відмов (по шаблону ДД-ММ-РР), час відмов: початок - кінець (по шаблону ч:хв:с).

Роздрукувати дані про всі відмови, тривалість котрих перевищує 10 хв.

22

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

23

Відомості про послуги поштового зв'язку: номер за порядком, вид відправлень, розмір оплати за пересилання наземним транспортом, розмір оплати за пересилання повітряним транспортом, час доставки. Роздрукувати дані про вид відправлень “переказ”.

24

Відомості про фільм, що містить наступні дані: порядковий номер, назва фільму, час демонстрації, рік випуску, кількість копій. Роздрукувати дані про фільм з найбільшим часом демонстрації і з найбільшою кількістю копій.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]