- •1. Краткие теоретические сведения
- •1. Файловый ввод-вывод. Текстовые файлы
- •1.1. Организация ввода и вывода. Файловая система
- •1.2. Текстовые файлы
- •1.3. Основные методы обработки текстовых файлов
- •2. Файловый ввод-вывод. Двоичные файлы
- •2.1. Двоичные файлы
- •2.2. Последовательный доступ к элементам двоичных файлов
- •2.3. Организация произвольного доступа к элементам двоичных файлов
- •2. Задание
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1.
- •2.4.2. Задание 2. Вычисление с использованием структур
- •2.4.2.1. Условие задания
- •2.4.2.2. Пример для варианта 30
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.5. Домашние задания
- •2.5.1. Задание 1. Запись в файл массивов структур
- •2.5.1.1. Условие задания
- •2.5.1.2. Пример для варианта 30
- •2.4.3.3. Программа
- •2.4.3.4. Тестирование
- •2.5.2. Задание 2. Формирование и запись в файл массивов структур
- •2.5.2.1. Условие задания
- •2.5.2.2. Пример выполнения работы для варианта 31
- •2.5.2.3. Программа
- •2.5.2.4. Тестирование
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1. Файловый ввод-вывод. Текстовые файлы 2
- •1.1. Организация ввода и вывода. Файловая система 2
2. Задание
2.1. Изучить теоретические сведения.
2.1.1. Изучить средства языка С++ для работы с файлами.
2.2. Разобрать и выполнить примеры 17.1 – 17.4, 17.6 – 17.19 к данной лабораторной работе.
2.2.1. Особое внимание обратите на примеры 17.7, 17.11, 17.12. Материал этих примеров пригодиться при написании программ заданий 2.4.2, 2.5.1. и 2.5.2.
2.3. Написать и отладить три программы на языке С++ для заданий 2.4.2, 2.5.1. и 2.5.2.
Замечание: для ускорения выполнения заданий 2.4.2, 2.5.1. и 2.5.2 рекомендуется воспользоваться результатами лабораторной работы № 14. Программирование с использованием структур, выполненной в предыдущем семестре.
2.4. Задания для выполнения на занятиях
2.4.1. Задание 1.
Найти и устранить ошибку в примере 17.5. Добиться работоспособности программы примера 17.5.
2.4.2. Задание 2. Вычисление с использованием структур
Создать массив структур, содержащий информацию согласно варианту индивидуального задания. Структуры (исходную и сформированную по запросу) сохранить в отдельных файлах. Выполнить задание и вывести на экран полученный результат.
Замечание: для ускорения выполнения задания рекомендуется воспользоваться результатами лабораторной работы № 14. Программирование с использованием структур, выполненной в предыдущем семестре.
2.4.2.1. Условие задания
Таблица 17.5
№ |
Структура данных и задание |
1 |
Структура "Автомобиль" имеет поля: марка; серийный номер; регистрационный номер; год выпуска. Вывести все сведения об автомобилях, имеющих дату выше заданной (новые автомобили). |
2 |
Структура "Сотрудник" имеет поля: фамилия, имя, отчество; должность; год рождения; заработная плата. Вывести все сведения о сотрудниках, имеющих заработную плату выше средней. |
3 |
Структура "Государство" имеет поля: название; столица; численность населения; занимаемая площадь. Вывести все сведения о государствах, в столицах которых проживает более 5 млн жителей. |
4 |
Структура "Человек" имеет поля: фамилия, имя, отчество; домашний адрес; номер телефона; возраст. Вывести все сведения о людях, имеющих возраст больше заданного. |
5 |
Структура "Человек" имеет поля: фамилия, имя, отчество; год рождения; рост; вес. Вывести все сведения о людях, имеющих рост выше среднего. |
6 |
Структура "Школьник" имеет поля: фамилия, имя, отчество; класс; номер телефона; оценки по предметам (математика, физика, русский язык, литература). Вывести все сведения о школьниках, имеющих 2 хотя бы по одному предмету. |
7 |
Структура "Студент" имеет поля: фамилия, имя, отчество; домашний адрес; группа; оценки по 5 предмета сессии. Вывести все сведения о студентах имеющих 2 хотя бы по одному предмету. |
8 |
Структура "Покупатель" имеет поля: фамилия, имя, отчество; домашний адрес; номер телефона; номер кредитной карточки. Вывести все сведения об покупателе с заданной фамилией. |
9 |
Структура "Пациент" имеет поля: фамилия, имя, отчество; домашний адрес; номер медицинской карты; номер страхового полиса, дата рождения. Вывести все сведения о пациентах, имеющих дату выше заданной. |
10 |
Структура "Информация" имеет поля: носитель; объем; название; автор. Вывести все сведения о произведениях конкретного автора. |
11 |
Структура "DVD-диск" имеет поля: название фильма; режиссер; продолжительность; цена. Вывести все сведения о дисках, имеющих цену ниже средней. |
12 |
Структура "DVD- диск" имеет поля: название; режиссер; продолжительность; цена. Вывести все сведения о фильмах конкретного режиссера. |
13 |
Структура "Спортивная команда" имеет поля: название; город; количество игроков; количество набранных очков. Вывести все сведения о лидирющих (трех) командах |
14 |
Структура "Стадион" имеет поля: название; адрес; вместимо сть;год постройки; виды спорта. Вывести все сведения о стадионах, имеющих дату постройки ниже заданной (старые стадионы). |
15 |
Структура "Автомобиль" имеет поля: марка; год выпуска; мощность двигателя; цена; цвет. Вывести все сведения об автомобилях, имеющих цену выше средней. |
16 |
Структура "Владелец автомобиля" имеет поля: фамилия, имя, отчество; номер автомобиля; телефон; номер техпаспорта, дата выдачи прав. Вывести все сведения о владельцах автомобилей, имеющих дату сдачи на права выше заданной. |
17 |
Структура "Фильм" имеет поля: название; режиссер; год выпуска; стоимость. Вывести все сведения офильмах, стоимость которых выше средней. |
18 |
Структура "Книга" имеет поля: название; автор; год издания; количество страниц. Вывести все сведения о книгах, имеющих год издания выше заданного. |
19 |
Структура "Фильм" имеет поля: название; режиссер; страна; год выпуска; приносимая прибыль. Вывести все сведения о фильмах, которые приносят прибыль выше средней. |
20 |
Структура "Государство" имеет поля: название; государственный язык; денежная единица; численность населения; столица. Вывести все сведения о государствах с численностью населения больше заданной. |
21 |
Структура "Автомобиль" имеет поля: марка; серийный номер; регистрационный номер; год выпуска. Вывести все сведения об автомобилях заданной марки. |
22 |
Структура "Владелец автомобиля" имеет поля: фамилия, имя, отчество; номер автомобиля; номер техпаспорта; год выпуска;отделение регистрации ГАИ. Вывести все сведения об автомобилях, имеющих год выпуска меньше заданного (старые автомобили). |
23 |
Структура "Стадион": имеет поля: название; год постройки; вместимость; количество площадок; виды спорта. Вывести все сведения о стадионах, имющих вместимость меньше заданной. |
24 |
Структура "Студент" имеет поля: фамилия, имя, отчество; номер телефона; группа; оценки по 5 предметам сессии. Вывести все сведения о студентах, имеющих 3 только по одному из предметов. |
25 |
Структура "Студент" имеет поля: фамилия, имя, отчество; дата рождения; домашний адрес; оценки по 5 предметам сессии. Вывести все сведения о студентах, имеющих 5 по всем предметам. |
26 |
Структура "Студент" имеет поля: фамилия, имя, отчество; домашний адрес; группа; оценки по 5 предметам сессии. Вывести все сведения о студентах, имеющих 4 или 5 по предметам. |
27 |
Структура "Книга" имеет поля: название; автор; год издания; количество страниц. Вывести все сведения о книгах, имеющих год издания выше заданного. |
28 |
Структура "Автомобиль" имеет поля: марка; серийный номер; регистрационный номер; год выпуска. Вывести все сведения об автомобилях, имеющих дату ниже заданной (старые автомобили). |
29 |
Структура "Абитуриент" имеет поля: фамилия, имя, отчество;год рождения;оценки вступительных экзаменов (3);средний балл аттестата. Вывести все сведения об абитуриентах, имеющих средний балл выше заданного. |
30 |
Структура "Студент" имеет поля: фамилия, имя, отчество; домашний адрес; группа; оценки по 5 предметам сессии. Вывести все сведения о студентах, имеющих 5 по всем предметам. |