DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи № 3 з дисципліни «Об’єктно-орієнтоване програмування» на тему «Потоковий ввід-вивід»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Об’єктно-орієнтоване програмування
Група:
КН-31
Коротко про документ

Про що ця робота

У звіті розглядаються засоби стандартного та файлового вводу-виводу мовою C++. Наведено код програми для запису та читання даних з текстового файлу.

У роботі розглядаються

  • Об'єктно-орієнтоване програмування
  • Потоковий ввід-вивід
  • Робота з файлами в C++
  • Класи ifstream та ofstream
  • Форматування виводу
  • Обробка винятків файлової системи

Зміст і розділи

  1. Мета лабораторної роботи
  2. Теоретичні відомості
  3. Індивідуальне завдання
  4. Код програми
  5. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Пастернак І. І.

Ключові поняття

потікifstreamofstreamfstreamввід-вивідфайлрежим відкриттяC++

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки Національний університет “Львівська політехніка” Кафедра ЕОМ / Звіт з лабораторної роботи № 3 з дисципліни: “Об’єктно-орієнтоване програмування” на тему: “Потоковий ввід-вивід” Мета лабораторної роботи Навчитись користуватися засобами стандартного вводу-виводу С++. Теоретичні відомості Файловий ввід-вивід Для виконання операцій з файлами передбачено три класи: іfstream, ofstream і fstream. Ці класи є похідними від класів іstream, ostream і іostream. Всі функціональні можливості (перевантажені операції << та >> для вбудованих типів, функції і прапорці форматування, маніпулятори й ін.), що застосовуються до стандартного вводу та виводу, можуть застосовуватися і до файлів. Існує деяка відмінність між використанням стандартних та файлових потоків. Стандартні потоки можуть використовуватися відразу після запуску програми, тоді як файловий потік спочатку слід зв'язати з файлом. Для реалізації файлового вводу-виводу потрібно підключити заголовочний файл fstream.h. Відкрити файл для вводу чи виводу можна наступним чином: // Для виводу ofstream outfile; outfile.open("File.txt"); або ofstream outfile("File.txt"); або fstream outfile("File.txt ",ios::out); // Для вводу ifstream infile; infile.open("File.txt"); або ifstream infile("File.txt"); або fstream infile("File.txt ",ios::in);  Режими відкриття файлів та їхнє призначення. Режим відкриття Призначення  іos::іn Відкрити файл для читання  іos::out Відкрити файл для запису  іos::ate Відкрити файл для додавання в кінець  іos::app Відкрити файл для додавання в кінець  іos::trunc Усікти файл, тобто видалити його вміст  іos::bіnary Відкрити файл у двійковому режимі  Режими відкриття файлу являють собою бітові маски, тому можна задавати два або більш режими, поєднуючи їх побітовою операцією АБО. Слід звернути увагу, що по замовчуванню режим відкриття файлу відповідає типові файлового потоку. У потоці вводу або виводу прапорець режиму завжди встановлений неявно. Між режимами відкриття файлу іos::ate та іos::app існує певна відмінність. Якщо файл відкривається в режимі додавання, весь вивід у файл буде здійснюватися в позицію, що починається з поточного кінця файлу, безвідносно до операцій позиціонування у файлі. У режимі відкриття іos::ate (від англійського "at end") можна змінити позицію виводу у файл і здійснювати запис, починаючи з неї. Файли, які відкриваються для виводу, створюються, якщо вони ще не існують. Якщо при відкритті файлу не зазначений режим іos::bіnary, файл відкривається в текстовому режимі. Якщо відкриття файлу завершилося невдачею, об'єкт, що відповідає потокові, буде повертати нуль. Перевірити успішність відкриття файлу можна також за допомогою функції-члена іs_open(). Дана функція повертає 1, якщо потік вдалося зв'язати з відкритим файлом. Для перевірки, чи досягнутий кінець файлу, можна використовувати функцію eof(). Завершивши операції вводу-виводу, необхідно закрити файл, викликавши функцію-член close(). Індивідуальне завдання Написати програму, яка буде додавати у текстовий файл введену з клавіатури інформацію (згідно варіанту). Слід передбачити можливість вибору користувачем режиму роботи: додавання чи відображення даних. Забезпечити зберігання даних у файлі у вигляді структурованої таблиці, для цього слід використовувати засоби форматування. 4. З клавіатури вводиться ім’я та день народження (день та місяць). Код програми #include <iostream> #include <fstream> using namespace std; int main() { setlocale(LC_CTYPE, "Ukrainian"); for (;;) { unsigned int n; cout << "1 - Ввести iм'я i день народження" << endl << "2 - Прочитати файл" << endl << "3 - Очистити файл" << endl << "0 - Вихiд з програми" << endl << "Ваш вибiр: "; cin >> n; if (n == 1) // Ввести iм'я i день народження { char Name[16]; unsigned int Day, Month; cout << "Введiть iм'я:" << endl; cin >> Name; cout << "Введiть день мiсяця:" << endl; cin >> Day; cout << "Введiть номер мiсяця:" << endl; cin >> Month; fstream TextFile("Text.txt", ios::app); if (!TextFile) { cout << "Помилка вiдкриття файлу" << endl << endl; system("pause"); return -1; } TextFile.width(16); TextFile.setf(ios::left); if (Day < 10) TextFile << Name << "0" << Day; else TextFile << Name << Day; if (Month < 10) TextFile << ".0" << Month << endl; else TextFile << "." << Month << endl; TextFile.close(); cout << endl; system("pause"); } else if (n == 2) // Прочитати файл { fstream TextFile("Text.txt", ios::in); if (!TextFile) { cout << "Помилка вiдкриття файлу" << endl << endl; system("pause"); return -1; } char str[16]; TextFile >> str; if (TextFile.eof()) cout << "Файл порожнiй" << endl << endl; else TextFile.seekg(0, ios::beg); while (!TextFile.eof()) { cout.width(16); cout.setf(ios::left); TextFile >> str; cout << str; TextFile >> str; cout << str << endl; } system("pause"); TextFile.close(); } else if (n == 3) // Очистити файл { fstream TextFile("Text.txt", ios::out); if (!TextFile) { cout << "Помилка вiдкриття файлу" << endl << endl; system("pause"); return -1; } TextFile.close(); cout << "Файл очищено" << endl << endl; system("pause"); } else if (n == 0) // Вихiд з програми return 0; system("cls"); } } Результат виконання програми / / / Висновок Я навчився користуватися засобами стандартного вводу-виводу С++ та написав програму, яка працює з текстовим файлом.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!