Програма роботи
Постановка задачi
Мета роботи
РОБОТА З ТЕКСТОВИМИ ФАЙЛАМИ
Лабораторна робота № 12
Вивчити та дослідити засоби алгоритмiчної мови програмування С++, які використовують функції обробки текстових файлів, а також методику складання, налагодження та розрахунку програм.
Скласти схему алгоритму, таблицю символічних імен та програму мовою С++ відповідно до заданого варіанту. Налагодити та розв’язати задачу на ПЕОМ.
Теоретичні відомості
У мові С++ визначено три класи файлового введення/виведення:
ifstream - вхідні потоки для читання з файла;
ofstream – вихідні потоки для запису в файл;
fstream – потоки для читання та запису файлів.
Під час роботи з файлами перелічених класів допустимо використовувати їх методи, а також операції “розмістити в потоці” (<<) та „ узяти з потоку” (>>).
Конструктори відповідних класів складають об’єкти потоків, що зв’язані з файлами. Наприклад, оператори
ofstream outfile(”Test.dat”);
if (!outfile)
{ cout <<”Неможливо скласти файл”;
return;
}
становлять вихідний потік outfile, зв’язаний з файлом ”Test.dat”, одночасно складаючи сам файл. Якщо операція неможлива, значення outfile дорівнює 0, а оператор if припиняє роботу.
Аналогічно можливе складання вхідного потоку, зв’язаного з файлом:
ifstream intfile(”Test.dat”);
if (!infile)
{ cout <<”Неможливо відкрити файл”;
return; }
Дані у файлі можна розмістити за допомогою потоків:
outfile << i << ” ” <<k << ” ” << s <<endl;
або ж із застосуванням методів put та write:
outfile.put(’z’) // записує у файл символ ’z’;
outfile.write(s,5) // записує у файл п’ять елементів символьного
масиву s.
У класі ifstream також можливе використання як операцій „узяти з потоку” ( >> ), наприклад,
іnfile >> i1 >> i2 >> endl;
так і аналогічних методів get та getline, що мають свої модифікації:
infile.get() // уводить один символ із зазначеного потоку та
повертає його які значення виклику функції.
Повертає EOF у разі закінчення файла;
infile.getline(s,80) // читання з файла даних по рядках
(s рядків по 80 символів).
Закрити файл можна за допомогою методу close:
outfile.close();
infile.close().
3.1. Записати запропанований викладачем варіант завдання з п. 5.
Ознайомитись з рекомендованою літературою та конспектом лекцій.
3.2. Програмування задачі:
– скласти таблицю символічних імен;
– скласти схему алгоритму або псевдокод (за вказіквою викладача);
– скласти програму розв’язання задачі мовою С++.
3.3. Розв’язання задачі на ПЕОМ.
На ПЕОМ набрати, відлагодити та розв’язати складену програму.
3.4. Оформлення звіту.
Звіт повинен містити:
– номер лабораторної роботи та її назву;
– умову задачі та дані свого варіанта;
– таблицю символічних імен;
– схему алгоритму(або псевдокод);
– лістинг (або рукопис) програми;
– результати розрахунку задачі;
– висновки.