Professional Documents
Culture Documents
Лаба 10
Лаба 10
Становича Дениса
Тема: робота з файлами
Мета роботи: Вивчити програмні засоби для роботи з файлами та потоками. Дослідити основні
функції роботи з файлами та реалізовувати найпростіші операції з ними. Навчитись застосовувати у
своїх програмах вхідні і вихідні текстові і бінарні файли і файлові потоки.
Хід роботи
Виконання індивідуального завдання:
Задача 1.
Взявши за основу лабораторну роботу №7, змінити код програми таким
чином, щоб:
– вхідні дані вводилися не з клавіатури, а з файлу;
– згенерований масив виводився у файл;
– результати виконання виводились і на екран, і у файл.
Розв’язок:
Для початку створюю файл input.txt, де будуть знаходитись вхідні дані, і файл
output.txt в який будуть записуватися результати програми.
int main() {
setlocale(LC_CTYPE, "ukr");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n, m, a, b;
// Ініціалізація масивів
int A[N][M], B[N][M], C[N][M];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
A[i][j] = rand() % (b - a) + a; // генерація випадкових чисел для першого
масиву
B[i][j] = rand() % (b - a) + a; // генерація випадкових чисел для другого
масиву
}
}
Рисунок 4. Результат програми записаний у файл output.txt Рисунок 5. Результат програми виведений на екран
Задача 2.
Взявши за основу лабораторну роботу №9 (задача1), змінити код програми
таким чином, щоб:
– вхідні дані (поля структури) вводилися з клавіатури і після введення
записувалися у файл (окрема функція);
– програма мала можливість дописувати дані у файл (окрема функція);
– дані з файлу виводились на екран (окрема функція);
– результати виконання другого підпункту виводились на екрані у файл.
Розв’язок:
Створюю файл plane.txt в якому будуть виведені рейси.
int main() {
setlocale(LC_CTYPE, "ukr");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int N;
int M;
bool k;
string fileName = "plane.txt";
cout << "Заповніть дані рейсів та збережіть їх у файл " << fileName << endl;
cout << "Введіть кількість рейсів: ";
cin >> N;
writeToFile(AIR, N, fileName);
writeToFile(newAIR, M, fileName);
appendToFile(newAIR, M, fileName);
}
string destCity;
cout << "\nКуди плануєте летіти сьогодні?\n";
cout << "Місце прибуття: ";
cin >> destCity;
Висновок:
Під час виконання даної лабораторної роботи я вивчив програмні засоби для
роботи з файлами та потоками, дослідив основні функції роботи з файлами та
здійснював найпростіші операції з ними. Я навчився застосовувати в своїх
програмах вхідні та вихідні тексти, бінарні файли та файлові потоки.
Ця лабораторна робота була корисною для мене, оскільки дозволила зрозуміти,
як працювати з файлами та потоками у своїх програмах. Я вивчив багато
нового, включаючи функції створення, відкриття та закриття файлів,
зчитування та запис до файлів, роботу з бінарними та текстовими файлами, та
багато іншого.