Т.Е. Мамонова
Лабораторная работа № 10
Файловый ввод-вывод в C++
Методические указания по выполнению лабораторных работ
по курсу «Информатика»
для студентов направлений 220000 – «Мехатроника и робототехника»,
220700 – «Автоматизация технологических процессов и производств».
Издательство
Томского политехнического университета
УДК 519.6
ББК 00000
А00
Мамонова Т.Е.
А00 Файловый ввод-вывод в C++. Методические указания по выполнению лабораторных работ по курсу «Информатика» для студентов I курса, обучающихся по направлениям 220000 – «Мехатроника и робототехника», 220700 – «Автоматизация технологических процессов и производств» / Т.Е. Мамонова. – Томск: Изд-во Томского политехнического университета, 2011. – 8 с.
УДК 519.6
ББК 00000
Методические указания рассмотрены и рекомендованы к изданию методическим семинаром кафедры интегрированных
компьютерных систем управления ИК
«1» сентября 2011 г.
Зав. кафедрой ИКСУ
доктор технических наук ______________ А.М. Малышенко
Председатель учебно-методической
комиссии ______________ В.Н. Шкляр
Рецензент
Доцент ИКСУ ИК НИ ТПУ кандидат технических наук
В.Н. Шкляр
© ГОУ ВПО «Томский политехнический
университет», 2011
© Мамонова Т.Е., 2011
© Оформление. Издательство Томского
политехнического университета, 2011
ЛАБОРАТОРНАЯ РАБОТА № 10
Файловый ввод-вывод
Цель работы. Научиться записывать информацию в файл и считывать её из файла.
Теоретическая часть
Файл – это именованная область на диске для хранения различных данных (символьных или числовых).
Заголовочный файл iostream.h определяет классы istream и ostream (входной и выходной поток). Аналогично заголовочный файл fstream.h определяет классы ifstream и ofstream (входной и выходной файловый поток). Для вывода данных в файл используется выходной файловый поток ofstream, при этом указывается имя файла в виде символьной строки.
|
|
Пример 1. Запись информации в файл.
#include <fstream.h>
void main()
{
// на диске создается файл с именем text.txt
ofstream file (”c:\\temp\\text.txt”);
file << “Tomsk “ << endl; // в файл заносится
// информация
file << ”2006 “ << endl;
file.close(); // закрытие файла
}
В результате на диске с: в папке temp создается файл с именем “text.txt”, который содержит 2 строки:
Для чтения из файла используется входной поток ifstream и указывается имя файла, из которого будет считываться информация.
Пример 2. Чтение информации из файла “text.txt”.
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
void main()
{
ifstream vvod (“c:\\temp\\text.txt“);
char one[10], two[20];
vvod.getline (one, sizeof(one));
vvod.getline (two, sizeof(two));
cout << one << endl;
cout << two << endl;
vvod.close();
getch();
}
Результат работы программы:
Здесь функция getline использована для ввода строки из файла. Если файл не нужен, используется функция закрытия файла, например, vvod.close(). Для чтения из файла необязательно использовать функцию getline.
Пример 3. Записать в файл массив чисел. Прочитать числа из файла и определить их количество
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
#include <conio.h>
void main()
{
int i, n, kol = 0, x;
ofstream file (“f.txt”);
cout<<”Vvedite kolichestvo chisel: ”;
cin >> n;
for (i = 0; i < n; i++)
{
cin >> x;
file << x << “ ”;
}
file.close();
ifstream vvod (“f.txt”);
|
|
int mas[100];
i = 0;
do
{
vvod >> mas[i];
i++;
}
while (!vvod.eof ()); /*чтение из файла пока не встретился конец файла (eof) (eof – end of file) */
vvod.close ();
kol = i-1;
cout << “Prochitano ” << kol << “ chisel:\n”;
for (i = 0; i < kol; i++)
cout << setw (5) << mas[i];
getch();
}
Результат работы программы:
Здесь при записи в файл используется переменная х, в которую данные поступают с клавиатуры и выводятся в файл. При чтении чисел из файла они заносятся в массив mas.
Варианты заданий к лабораторной работе № 10
Вариант 1. Записать в файл F действительные числа. Прочитать данные из файла и найти сумму квадратов компонент файла.
Вариант 2. Записать в файл F действительные числа. Прочитать данные из файла, поменять местами первую и последнюю компоненты файла и занести их в файл G.
Вариант 3. Записать в файл F действительные числа. Прочитать данные из файла и найти количество компонент файла F, значение которых больше 1, но меньше 5.
Вариант 4. Записать в файл F действительные числа. Прочитать данные из файла и найти наибольшее из значений компонент.
Вариант 5. Записать в файл F действительные числа. Прочитать данные из файла и найти наименьшее из значений компонент.
Вариант 6. Записать в файл F действительные числа. Прочитать данные из файла и найти количество четных компонентов.
Вариант 7. Записать в файл F действительные числа. Прочитать данные из файла, найти компоненты, являющихся простыми числами и занести их в файл G.
Вариант 8. Записать в файл F целые числа. Прочитать данные из файла, подсчитать количество компонентов, являющихся квадратами нечетных чисел.
|
|
Вариант 9. Записать в файл F целые числа. Прочитать данные из файла и найти количество удвоенных нечетных компонент.
Вариант 10. Записать в файл F целые числа. Прочитать данные из файла и переписать все четные компоненты в файл G.
Вариант 11. Записать в файл F целые числа. Прочитать данные из файла и переписать все числа, делящиеся на 3, но не делящиеся на 5, в файл G.
Вариант 12. Записать в файл F слова. Прочитать данные из файла и найти слова, оканчивающиеся на букву «r ».
Вариант 13. Записать в файл F целые числа. Прочитать данные из файла и найти среднее арифметическое нечетных компонентов.
Вариант 14. Записать в файл F слова. Прочитать данные из файла и найти слова из 5 букв.
Вариант 15. Записать в файл F вещественные числа. Прочитать данные из файла и записать в файл G целые части этих чисел.
Содержание отчета
· цель работы;
· задание;
· код программы;
· блок-схема;
· результаты работы программы;
· выводы по работе.
Список литературы
1. Ален И. Голуб. Правила программирования на C и С++. Пер. с англ.: – М.: Вильямс, 2001. – 241 с.
2. Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2010.
3. Прата С. Язык программирования С++. Лекции и упражнения. СПб.: Питер, 2003. – 645 с.
Учебное издание
МАМОНОВА Татьяна Егоровна
ФАЙЛОВЫЙ ВВОД-ВЫВОД В С++
Методические указания по выполнению лабораторных работ
по курсу «Информатика» для студентов I курса, обучающихся по направлениям 220000 – «Мехатроника и робототехника»,
220700 – «Автоматизация технологических процессов и производств».
Отпечатано в Издательстве ТПУ в полном соответствии