Иллюстрированный самоучитель по С++ для начинающих

Файлы

Общие замечания

Приступая к решению задач этого раздела, следует вспомнить, что:

  • в программе, которая выполняет операции чтения из файла или запись в файл, должна быть объявлена переменная-указатель на тип file;
  • для того чтобы файл был доступен, его надо открыть, указав, для выполнения какого действия открывается файл: чтения, записи или обновления данных, а также тип файла (двоичный или текстовый);
  • при работе с файлами возможны ошибки, поэтому рекомендуется при помощи функции ferror проверять результат выполнения потенциально опасных, с точки зрения возникновения ошибок, операций с файлами (fopen);
  • чтение данных из текстового файла можно выполнить при помощи функции fscanf, запись – fprintf;
  • по завершении работы с файлом нужно его обязательно закрыть (функция fclose).

Задачи

235. Напишите программу, которая на сменном диске компьютера (диск А:) создает файл numbers.txt и записывает в него 5 введенных пользователем целых чисел. Просмотрите при помощи редактора текста, например, встроенного в Norton Commander, созданный файл. Убедитесь, что каждое число находится в отдельной строке.

236. Напишите программу, которая дописывает в файл A:\numbers.txt пять введенных пользователем целых чисел. Убедитесь при помощи редактора текста, что в файле находятся 10 чисел.

237. Напишите программу, которая выводит на экран содержимое файла A:\numbers.txt.

238. Напишите программу, которая вычисляет среднее арифметическое чисел, находящихся в файле A:\numbers.txt.

239. Напишите программу, которая позволяет просматривать текстовые файлы (выводит на экран содержимое файла), например, файлы исходных программ C++. Имя просматриваемого файла должно передаваться программе в качестве параметра, в командной строке во время ее запуска.

240. Напишите программу, которая дописывает в находящийся на диске А: файл phone.txt имя, фамилию и номер телефона, например, вашего товарища. Если файла на диске нет, то программа должна создать его. В файле каждый элемент данных (имя, фамилия, телефон) должен находиться в отдельной строке. Рекомендуемый вид экрана во время работы программы приведен ниже.

Добавление в телефонный справочник
Фамилия › Сидоров
Имя › Вася
Телефон › 234-84-37
Информация добавлена.
Для завершения работы нажмите Enter

241. Напишите программу, которая позволяет за один сеанс работы добавить информацию о нескольких людях в файл A:\phone.txt. Рекомендуемый вид экрана во время работы программы приведен ниже.

Добавление в телефонный справочник.
Для завершения вместо ввода фамилии нажмите Enter
Фамилия › Сидоров
Имя › Вася
Телефон › 234-84-37
Информация добавлена.
Фамилия › Орлов
Имя › Андрей
Телефон › 552-18-40
Информация добавлена.
Фамилия ›
Ввод завершен
Для завершения работы нажмите Enter

242. Напишите программу, которая позволяет найти в телефонном справочнике (A:\phone.txt) нужные сведения. Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть люди с одинаковыми фамилиями, то программа должна вывести список всех этих людей. Рекомендуемый вид экрана во время работы программы приведен ниже.

Поиск в телефонном справочнике.
Введите фамилию и нажмите Enter.
Для завершения работы с программой сразу после приглашения нажмите Enter
 › Петров
В справочнике данных о Петров нет.
 › Иванов
Иванов Вася 578-12-45
Иванов Сергей 244-34-02

243. Напишите программу, которая объединяет возможности программ "Добавление в телефонный справочник" и "Поиск в телефонном справочнике". При запуске программы на экран должно выводиться меню, вид которого приведен ниже.

*** Телефонный справочник ***
1. Добавление
2. Поиск
3. Завершение работы
Введите номер пункта меню и нажмите Enter
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.