- •Лабораторная работа 1
- •Теоретические сведения
- •Ход работы
- •Задание
- •Контрольные вопросы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 2
- •Теоретические сведения
- •Ход работы
- •Література
- •Лабораторная работа 3
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 4
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 5
- •Теоретические сведения
- •Основные библиотечные математические функции c
- •Основные стандартные функции и макросы c (из библиотеки stdlib.H)
- •Основные библиотечные функции c для работы с символами
- •Основные библиотечные функции c для работы с символьными массивами
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 6
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 7
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 8
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 9
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 10
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 11
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 12
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 13
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 14
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 15
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 16
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
Література
Джесс Либерти. Освой самостоятельно С++. 3 и-е. М.: Вильямс. – 2000.
Г. Шилдт. Полный справочник по С++. 4 и-е. – М.: Вильямс. – 2003.
Т.А. Павловская. С/С++. Программирование на языке высокого уровня. ПИТЕР-2002
С.В. Глушаков. Практикум по С++. ФОЛИО – 2006
Х. Дейтел, П. Дейтел. Как программировать на С++.
Ю.Л. Кетков. Введение в языки программирования C и C++ http://www.intuit.ru/department/pl/ccpp/
А.Л. Фридман. Язык программирования C++ http://www.intuit.ru/department/pl/cpp/
Лабораторная работа 15
Тема: Расширенное наследование
Цель:
Теоретические сведения
См. лекция №15
Ход работы
Напишите простой контейнерный класс для небольшой фирмы, в которой работает администратор, служащий и рабочий – производные объекты от общего базового класса.
Преобразуйте этот класс в класс с динамическим выделением памяти.
Напишите дружественную функцию для обработки объекта типа фирма.
Напишите операторы для вставки и извлечения в поток объектов класса фирма.
Напишите главную программу, выполняющую создание и обработку объекта типа фирма.
Контрольные вопросы
Почему важно различать отношения “является”, “содержит” и “реализация в терминах другого”
Что такое контейнерные классы? Почему контейнерные классы предпочтительнее приватного наследования?
Как установить отношение типа “является…” (is a…)?
Как установить отношение типа “содержит…” (has a…)?
В чем различие между контейнированием и делегированием?
В чем различие между делегированием и реализацией в терминах другого?
Что такое дружественная функция? Дружественный класс?
Если Dog друг Boy, будет ли Boy другом для Dog?
Если Dog друг Boy, а Terrier – производный от Dog, будет Terrier другом для Boy?
Если Dog друг Boy, а Boy – друг для House , будет Dog другом для House?
Где размещать объявление дружественной функции?
Если функция перегружена, нужно ли объявлять дружественной каждую ее разновидность?
Что такое предварительное объявление? Когда оно применяется?
Для чего выполняют операцию перегрузки вставки в поток для классов?
Література
Джесс Либерти. Освой самостоятельно С++. 3 и-е. М.: Вильямс. – 2000.
Г. Шилдт. Полный справочник по С++. 4 и-е. – М.: Вильямс. – 2003.
Т.А. Павловская. С/С++. Программирование на языке высокого уровня. ПИТЕР-2002
С.В. Глушаков. Практикум по С++. ФОЛИО – 2006
Х. Дейтел, П. Дейтел. Как программировать на С++.
Ю.Л. Кетков. Введение в языки программирования C и C++ http://www.intuit.ru/department/pl/ccpp/
А.Л. Фридман. Язык программирования C++ http://www.intuit.ru/department/pl/cpp/
Лабораторная работа 16
Тема: Потоки
Цель:
Теоретические сведения
См. лекция №16
Ход работы
Напишите программу, работающую со всеми четырьмя стандартными объектами iostream.
Напишите программу, предлагающую пользователю ввести с клавиатуры его фамилию, имя и отчество как единое целое, а затем выводящую их на экран.
Напишите программу, выполняющую различные вычисления и выводящую значений с применение методов форматирования, манипуляторов и флагов объекта cout.
И
Список сотрудников (студентов) ------------------------------------------------------------------------------------№ : Фамилия :Возраст : Зарплата ------------------------------------------------------------------------------------1.Иванов 25 500.60 2. Петров 30 550.40 ------------------------------------------------------------------------------------- Всего : 1051.00
спользуя один из ранее разработанных классов (Worker,Student… ),создайте в программе список объектов путем ввода данных с клавиатуры и рапечатайте его на экране в виде таблицы.
Напишите программу, предлагающую пользователю ввести его фамилию, имя и отчество , а затем выводящую эти сведения в текстовый файл.
Напишите программу в которой ФИО вводятся из текстового файла и затем выводятся на экран.
Измените программы п.1 и п.2 на циклические.
Возьмите небольшой класс из предыдущих упражнений. Обязательно включите в его состав дружественные операции извлечения и вставки в поток. Напишите программу, создающую 2 объекта этого класса (в стеке и в свободной памяти). Значения членов-данных этих объектов введите с клавиатуры оператором извлечения. Распечатайте содержимое этих объектов оператором вставки.
Используйте любой ранее разработанный класс. Напишите программу, создающую в цикле несколько объектов этого класса в стеке (свободной памяти). Запишите этот объекты в двоичный файл.
Напишите программу, считывающую и распечатывающую двоичный файл, созданный в п.5 . Переменную для чтения объекта определить в стеке (свободной памяти).
Используйте любой ранее разработанный класс. Напишите в нем :
операторы для стандартного ввода-вывода (экран и клавиатура);
специализированные методы для последовательного текстового и бинарного ввода-вывода объектов;
специализированные методы для прямого бинарного ввода-вывода объектов;
Напишите программу, создающую в цикле несколько объектов этого класса в стеке (свободной памяти). Запишите этот объекты последовательно в двоичный файл, пользуясь методами класса.
Напишите программу для просмотра и редактирования объектов файла, созданного в п.2, в режиме прямого доступа.
Введите ФИО, возраст, вес одной строкой в символьный массив и затем в программе получите отдельные переменные и выведите их на экран. Используйте классы внутреннего ввода-вывода языка С++.
Напишите программу, которая выводит аргументы командной строки в обратном порядке и не выводит имя программы.
Напишите программу , которая принимает параметр – имя текстового файла и открывает его для чтения. Если файла нет – печатает сообщение и завершает работу. Прочитайте все символы из этого файла, но выводите на экран только русские буквы и знаки препинания.
Запустите программу п.2 так, чтобы она выводила свои результаты не на экран, а в текстовый файл.
Перепишите программу п.2 с применением функций ввода-вывода языка С.
Введите ФИО, возраст, вес одной строкой в символьный массив и затем в программе получите отдельные переменные и выведите их на экран. Используйте функции ввода-вывода языка С.
