- •Овсянник в.Н. Лабораторные работы по курсу «Объектно-ориентированное программирование»
- •1.Интегрированная среда mvs-2010
- •1.1.Методические указания
- •2.Массивушки и подпрограммочки
- •Прочитайте это задание и методические указания до конца, прежде чем терзать клавиатуру, соседа, преподавателя и пр. Сущности
- •Попробуйте сдать работу, предварительно тщательно протестировав ее на предмет отсутствия хомутов
- •2.1.Методические указания
- •3.Поиск экстремумов с ограничениями или «Брачное агенство»
- •Постановка задачи
- •Задание
- •Листинг файла mAgency.Cpp (с главной функцией)
- •Листинг файла Lib.H
- •Листинг файла Lib.Cpp
- •4.Задача «куча камней»
- •4.1.Постановка задачи.
- •4.2.Методические указания.
- •Некоторые примеры разделения камней на две кучи, которые должна решать ваша программа
- •5.Разработка простого класса
- •5.1.Задание
- •5.2.Описание вариантов заданий
- •5.3.Драгоценные методические указания
- •6.Класс вектор
- •6.1.Пример класса tVector
- •6.2.Класс tVector с перегруженными операциями
- •7.Наследование классов
- •7.1.Задание
- •7.2.Методическая помощь
- •7.3.Описание самых легких вариантов заданий
- •7.4.Контроль качества выполненной работы
- •8.Приложение с окном вида
- •9.Абстрактные классы и виртуальные функции
- •9.1.Задание
- •9.2.Методические указания
- •Void PrintClassNamе1(cBasе *pb) // параметр-указатель
- •Void PrintClassNamе2(cBasе &b) // параметр-ссылка
- •Void PrintClassNamе3(cFirst f) // параметр-значение
- •9.3.Варианты заданий
- •10.Разработка класса контейнера
- •10.1.Задание
- •10.2.Описание вариантов заданий
- •10.3.Методические указания
- •12.Перегрузка векторных и матричных операций
- •12.1.Задание
- •12.2.Бесценные методические указания
- •12.3.Некоторые особенности перегрузки операций
- •12.4.Варианты заданий
- •13.Программирование односвязного списка
- •13.1.Задание
- •13.2.Описание вариантов заданий
- •14.Приложение, основанное на модальном диалоговом окне
- •14.1.Нудные методические указания Модальные и немодальные диалоговые окна
- •Ресурсы и элементы управления
- •Сценарий создания приложения
- •Разбор приложения
- •Усовершенствование приложения
- •15.Приложения
- •15.1.Виды сортировок
- •Классификация сортировок
- •Сортировка массивов
- •15.2.Алгоритм сортировки включением
- •Пример сортировки с помощью прямого включения
- •15.3.Сортировка Шелла
- •Список литературы
Задание
Внимательно изучите листинги файлов проекта MAgency, которые приведены ниже. Каркас приложения – консольное приложение с поддержкой MFC.
Наберите текст приведенной программы или разработайте свой вариант. Файл с исходными данными вы можете создать элементарно путем копирования содержимого табл.1 в блокнот или в другой текстовый редактор, в том числе и в редактор MVS. Приветствуется увеличение объема табл.1 в любых направлениях: как увеличение числа строк, так и увеличение числа столбцов. Категорически возбраняется уменьшать размеры таблицы. Таблицы 2-4, как вы понимаете, предназначены для другой цели, а именно для формулировки запросов к программе и реализации алгоритмов удовлетворения запросов придирчивых клиентов.
Разработайте свое приложение в соответствии с вариантом, ниспосланным вам судьбой. Приложение должно выводить результат в понятной даже клиенту-дебилу форме, т.е. со всеми необходимыми сопроводительными и поясняющими текстами.
Выполните отладку приложения и сдайте его преподавателю, предварительно тестировав его на ввод корректных и не очень данных.
Таблица 5
Варианты заданий
№ комп. |
Задание |
1 |
Найти все имеющиеся пары клиентов противоположного пола, имена которых начинаются с одинаковых символов и чей совокупный доход не меньше заданного пользователем значения |
2 |
Найти пару клиентов противоположного пола, совокупный доход которых максимален и у них одинаковая категория характера |
3 |
Найти все имеющиеся пары клиентов противоположного пола, которые имеют характер одной и той же категории |
4 |
Найти пару клиентов одного пола, совокупный доход которых максимален и которые относятся к одной и той же категории цвета кожи. Поиск выполнять отдельно для клиентов обоих полов; сие значит, что вы обязаны найти двух особей мужеского рода и двух особей – женского. |
5 |
Найти все имеющиеся пары клиентов одного пола, которые имеют характер одной и той же категории. Поиск выполнять отдельно для клиентов обоих полов. |
6 |
Найти пару разнополых клиентов с диаметрально противоположными категориями характера, но с одинаковой категорией цвета кожи. |
7 |
Сформировать пару из разнополых клиентов с заданными для каждого из них доходами (в числовой форме) при условии, что клиенты имеют одинаковую (заданную) категорию характера |
8 |
Заданному (по имени) клиенту подобрать всех подходящих клиентов противоположного пола, вес которых и рост находится в заданных в процентном отношении пределах относительно его собственных. Разжевываю: ежели, например, рост клиента равен 150см и задан процент 20, то рост подходящих клиентов должен находиться в диапазоне 120..180см. |
9 |
Найти две пары клиентов противоположного пола, которые имеют диаметрально противоположный рост, т.е. «самый высокий мужчина + самая невысокая женщина» и «самый короткий мужчина + самая высокая женщина» |
10 |
Сформировать все возможные пары противоположного пола с одинаковой категорией цвета кожи и одинаковым числом разводов |
11 |
Найти пару противоположного пола, у которых минимальное число разводов и одинаковая категория характера |
12 |
Сформировать все возможные пары из разнополых клиентов с заданными для каждого из них доходами (в числовой форме в виде интервала) при условии, что клиенты имеют одинаковое число разводов |
