- •Глава 2. Модульное программирование 72
- •Глава 3. Технология создания программ 102
- •Часть II. Объектно-ориентированное программирование 173
- •Глава 4. Классы 178
- •Глава 13. Итераторы и функциональные объекты 328
- •Глава 14. Алгоритмы 343
- •Глава 15. Средства для численных расчетов 369
- •Глава 16. Другие средства стандартной библиотеки 378
- •Часть 1
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •If ( выражение ) оператор_1; [else оператор_2;]
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •If (f) cout « "ХпРезультат return 0;
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Int* p (&а); // то же самое другим способом
- •Часть I. Структурное программирование
- •5 4 2 1 3 // Порядок интерпретации описания
- •56 Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Int b[nstr][nstb]; // описание массива
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Глава 2
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Int sum(int a. Int b); // объявление функции
- •Глава 2. Модульное программирование
- •Void print_worker(Worker); //объявление функции
- •Часть I. Структурное программирование
- •Int fl(){return 1;} //правильно
- •Void f2(){return 1;} // неправильно. F2 не должна возвращать значение
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •92 Часть I. Структурное программирование
- •Глава 2. Модульное программирование 93
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Void fund (double); // Перегрузка
- •Void func2(int); // Верно (повторное объявление)
- •Часть I. Структурное программирование
- •Глава 2. Модульное программирование
- •Глава 3
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ 107
- •II Комментарий, описывающий,
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •If(!remove (&pbeg. &pend. 5))cout « "не найден";
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Глава 3. Технология создания программ
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Int f; //.Частота регенерации
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •168 Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть I. Структурное программирование
- •Часть II
- •Часть II. Объектно-ориентированное программирование
- •Часть II. Объектно-ориентированное программирование
- •Часть II. Объектно-ориентированное программирование
- •Часть II. Объектно-ориентированное программирование
- •Глава 4
- •Глава 4. Классы
- •180 Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Int a::count: // Определение в глобальной области
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Часть II. Объектно-ориентированное программирование
- •Глава 4. Классы
- •Глава 5
- •Глава 5. Наследование
- •Часть II. Объектно-ориентированное программирование
- •Глава 5. Наследование
- •Часть II. Объектно-ориентированное программирование
- •Глава 5. Наследование
- •Часть II. Объектно-ориентированное программирование
- •Глава 5. Наследование
- •Часть II. Объектно-ориентированное программирование
- •Глава 5. Наследование
- •Часть II. Объектно-ориентированное программирование
- •Глава 6
- •Часть II. Объектно-ориентированное программирование
- •Void add(int d): // Добавление узла в конец списка
- •Глава 6. Шаблоны классов
- •Часть II. Объектно-ориентированное программирование
- •Глава 6. Шаблоны классов
- •Часть II. Объектно-ориентированное программирование
- •Глава 6. Шаблоны классов
- •Часть II. Объектно-ориентированное программирование
- •Глава 6. Шаблоны классов
- •Часть II. Объектно-ориентированное программирование
- •Глава 6. Шаблоны классов
- •Глава 7
- •Глава 7. Обработка исключительных ситуаций
- •Часть II. Объектно-ориентированное программирование
- •Глава 7. Обработка исключительных ситуаций
- •Часть II. Объектно-ориентированное программирование
- •Глава 7. Обработка исключительных ситуаций
- •Часть II. Объектно-ориентированное программирование
- •Глава 7. Обработка исключительных ситуаций
- •230 Часть II. Объектно-ориентированное программирование
- •Глава 8
- •Часть II. Объектно-ориентированное программирование
- •Глава 8. Преобразования типов
- •Часть II. Объектно-ориентированное программирование
- •Глава 8. Преобразование типов
- •Часть II. Объектно-ориентированное программирование
- •Глава 8. Преобразования типов
- •Часть II. Объектно-ориентированное программирование
- •Глава 8. Преобразования типов
- •Часть II. Объектно-ориентированное программирование
- •Глава 9
- •Часть II. Объектно-ориентированное программирование
- •Глава 9. Рекомендации по программированию
- •Часть II. Объектно-ориентированное программирование
- •Глава 9. Рекомендации по программированию
- •Часть II. Объектно-ориентированное программирование
- •Глава 9. Рекомендации по программированию
- •250 Часть II. Объектно-ориентированное программирование
- •Часть II. Объектно-ориентированное программирование
- •254 Часть II. Объектно-ориентированное программирование
- •Часть II. Объектно-ориентированное программирование
- •Часть II. Объектно-ориентированное программирование
- •Часть II. Объектно-ориентированное программирование
- •Часть II. Объектно-ориентированное программирование
- •Часть III
- •Часть III. Стандартная библиотека
- •Глава 10 Потоковые классы
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Часть III. Стандартная библиотека
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Часть III. Стандартная библиотека
- •Глава 10. Потоковые классы
- •Глава 11
- •Глава 11. Строки
- •Часть III. Стандартная библиотека
- •Глава 11. Строки
- •Часть III. Стандартная библиотека
- •Глава 11. Строки
- •Часть III. Стандартная библиотека
- •Глава 11. Строки
- •Часть III. Стандартная библиотека
- •Глава 12
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы 317
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Часть III. Стандартная библиотека
- •Глава 12. Контейнерные классы
- •Глава 13
- •Глава 13. Итераторы и функциональные объекты
- •Часть III. Стандартная библиотека
- •Глава 13. Итераторы и функциональные объекты
- •Часть III. Стандартная библиотека
- •Глава 13. Итераторы и функциональные объекты
- •Часть III. Стандартная библиотека
- •Глава 13. Итераторы и функциональные объекты
- •Часть III. Стандартная библиотека
- •Глава 13. Итераторы и функциональные объекты
- •Часть III. Стандартная библиотека
- •Глава 13. Итераторы и функциональные объекты
- •Часть III. Стандартная библиотека
- •Глава 13. Итераторы и функциональные объекты
- •Часть III. Стандартная библиотека
- •Глава 14
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы 361
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 14. Алгоритмы
- •Часть III. Стандартная библиотека
- •Глава 15
- •Часть III. Стандартная библиотека
- •Глава 15. Средства для численных расчетов
- •Часть III. Стандартная библиотека
- •Глава 15. Средства для численных расчетов
- •Часть III. Стандартная библиотека
- •Глава 15. Средства для численных расчетов
- •Часть III. Стандартная библиотека
- •Глава 15. Средства для численных расчетов
- •Глава 16
- •Глава 16. Другие средства стандартной библиотеки
- •Часть III. Стандартная библиотека
- •396 Приложение 5. Константы, макросы и типы данных стандартной библиотеки
- •Int level; // флаг состояния буфера
- •Int bsize; // размер внутреннего буфера
- •I0lbf 1 построчная буферизация текстового файла;
- •400 Приложение 5. Константы, макросы и типы данных стандартной библиотеки
- •402 Приложение 5. Константы, макросы и типы данных стандартной библиотеки
- •404 Приложение 5. Константы, макросы и типы данных стандартной библиотеки
- •406 Приложение 5. Константы, макросы и типы данных стандартной библиотеки
- •446 Приложение 6. Функции стандартной библиотеки
Часть I. Структурное программирование
Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая сортирует записи в описанном выше бинарном файле по одной из следующих характеристик: цена либо число градаций серого. Обязательный параметр — признак, задающий критерий сортировки.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее восьми записей и осуществляющий его сортировку.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
Вариант 3
Для хранения данных о планшетных сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых четырех байтах размещается значение типа 1 ong, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая сортирует записи в описанном выше бинарном файле по наименованию модели сканера.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее восьми записей и осуществляющий его сортировку.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
Вариант 4
Для хранения данных о планшетных сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая динамически выделяет память под массив структур (не меньше шести элементов), заполняет его данными в режиме диалога и записывает массив в бинарный файл. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая извлекает данные о сканере из описанного выше бинарного файла в структуру типа scanjnfo. Обязательный параметр — номер требуемой записи. Функция должна возвращать нулевое значение, если чтение прошло успешно, и -1 в противном случае.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее восьми записей и осуществляющий вывод на дисплей данных о требуемой записи.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
Упражнения к части I
153
Вариант 5
Для хранения данных о планшетных сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая записывает данные о сканере из приведенной структуры в требуемую позицию в бинарном файле. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах. Запись может осуществляться в любую позицию, причем если между вводимой записью и последней (или началом файла) имеются пропуски, они заполняются нулями.
Написать функцию, которая «уплотняет» описанный выше бинарный файл путем удаления из него записей, содержащих все нули.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее шести записей и осуществляющий его уплотнение.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
Вариант 6
Для хранения данных о планшетных сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая динамически выделяет память иод массив структур (не меньше шести элементов), заполняет его данными в режиме диалога и записывает массив в бинарный файл. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая запрашивает данные о сканере в режиме диалога и замещает записи в бинарном файле по заданному номеру. Обязательный параметр — номер замещаемой записи. Функция должна возвращать нулевое значение, если запись прошла успешно, и -1 в противном случае.
Привести пример программы, создающей файл с данными о сканерах (данные вводятся с клавиатуры) из не менее восьми записей и осуществляющий вставку новых данных о сканере.
Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
Вариант 7
Для хранения данных о планшетных сканерах описать структуру вида, описанного в варианте 1.
Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах.
Написать функцию, которая вводит данные о сканере с клавиатуры в структуру типа scan_info, и если данные об этом сканере отсутствуют в файле, помещает со-
154