- •Вступ Мета та задачі дисципліни
- •Структура та обсяг дисципліни
- •Тематичний план
- •Програма курсу
- •2.4. Перелік лабораторних робіт
- •Вибір варіантів завдань
- •Методичні вказівки до лабораторної роботи №1
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №1.
- •Методичні вказівки до лабораторної роботи №2
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №2.
- •Методичні вказівки до лабораторної роботи №3
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №3.
- •Методичні вказівки до лабораторної роботи №4
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №4.
- •Методичні вказівки до лабораторної роботи №5
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №5.
- •Методичні вказівки до лабораторної роботи №6
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №6.
- •Методичні вказівки до лабораторної роботи №7
- •Приклад виконання лабораторної роботи.
- •7.2 Завдання до лабораторної роботи №7.
- •Методичні вказівки до лабораторної роботи №8
- •Приклад виконання лабораторної роботи.
- •. Завдання до лабораторної роботи №8.
- •Методичні вказівки до лабораторної роботи №9
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №9.
- •Методичні вказівки до лабораторної роботи №10
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №10.
- •Методичні вказівки до лабораторної роботи №11
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №11.
- •Методичні вказівки до лабораторної роботи №12
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №12.
- •Методичні вказівки до лабораторної роботи №13
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №13.
- •Методичні вказівки до лабораторної роботи №14
- •Приклад виконання лабораторної роботи.
- •Завдання до лабораторної роботи №14.
- •Антонова а.Р.
- •Програмування на мові с
- •65082, Одеса, вул. Дворянська, 1/3
Методичні вказівки до лабораторної роботи №13
Приклад виконання лабораторної роботи.
Тема: Робота з файлами даних.
Завдання:
Скласти файл, що містить дані о працівниках. Дані о працівниках мають таку інформацію: табельний номер, ПІБ, посада, дата прийняття на роботу, оклад. Розпечатати дані про техніка, отриманого найбільшу зарплатню.
П рограма рішення задачі:
/* директиви препроцесору */
#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
Завдання до лабораторної роботи №13.
Написати програму, яка з допомогою окремих функцій виконує наступні дії:
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 |
Відомості про фільм, що містить наступні дані: порядковий номер, назва фільму, час демонстрації, рік випуску, кількість копій. Роздрукувати дані про фільм з найбільшим часом демонстрації і з найбільшою кількістю копій. |