Руководство пользователя (РП) (Методические указания к лабораторным работам)
Описание файла
Файл "Руководство пользователя (РП)" внутри архива находится в следующих папках: Методические указания к лабораторным работам, ЛР_14_КЛР_ПКШ. Документ из архива "Методические указания к лабораторным работам", который расположен в категории "". Всё это находится в предмете "программирование на основе классов и шаблонов" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "программирование на основе классов и шаблонов" в общих файлах.
Онлайн просмотр документа "Руководство пользователя (РП)"
Текст из документа "Руководство пользователя (РП)"
16
Московский государственный технический университет им. Н.Э.Баумана
_________________________________________________________________
УТВЕРЖДАЮ: | |
Большаков С.А. | "__"_____________201X Г. |
Комплексная лабораторная работа/ДЗ по дисциплине ПКШ
“Система классов улиц и домов”
Руководство пользователя
(вид документа)
писчая бумага
(вид носителя)
16
(количество листов)
ИСПОЛНИТЕЛЬ: | |
студент группы ИУ5-ХХ | _____________________ |
Большаков С.А. | "__"_____________201X г. |
Москва - 201X
________________________________________________________________
СОДЕРЖАНИЕ
1. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ 3
2. ПОДКЛЮЧЕНИЕ СИСТЕМЫ КЛАССОВ И ДИАГРАММА КЛАССОВ 3
3. РАБОТА С СИСТЕМОЙ КЛАССОВ 3
3.1. Общие сведения о системе классов улиц и домов 3
3.2. Диаграмма классов улиц и домов 4
3.3. Подключение системы классов в программу 4
3.4. Общие данные и переменные 5
4. КЛАСС ДОМОВ - Home 5
4.1. Данные и переменные класса Home 5
4.2. Конструкторы класса Home 6
4.3. Деструктор класса Home 7
4.4. Методы класса Home 7
4.5. Операции класса Home 9
4.6. Дружественные функции класса Home 9
5. КЛАСС Улиц - Street 9
5.1. Данные и переменные класса Street 9
5.2. Конструкторы класса Street 10
5.3. Деструктор класса Street 10
5.4. Методы класса Street 11
5.5. Операции класса Street 13
5.6. Дружественные функции класса Home 14
6. ОТКЛЮЧЕНИЕ СИСТЕМЫ КЛАССОВ 15
7. СООБЩЕНИЙ ОБ ОШИБКАХ И ИСКЛЮЧИТЕЛЬНЫЕ СИТУАЦИИ 15
1 НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ
Система классов домов и улиц предназначена для автоматизации работы с объектами улиц и домов в программных проектах и предметной области, где необходимо это учитывать. В частности, система классов предназначена для программирования задач включающих действия: оценки ремонта домов и улиц, подсчета числа жителей, квартир и этажей в домах. Система классов обеспечивает удобную работу с этими объектами, высокий уровень надежности программ, функциональных возможностей, а также сокращение сроков разработки и реализации программных продуктов, где необходимо использовать подобные объекты.
2 ПОДКЛЮЧЕНИЕ СИСТЕМЫ КЛАССОВ И ДИАГРАММА КЛАССОВ
Для того, чтобы установить данную систему классов на компьютер следует произвести следующие действия:
-
Освободить на жестком диске как минимум 200 килобайт свободного пространства.
-
Вставить дискету или CD/DVD носитель с дистрибутивом программного продукта в дисковод или CD/DVD устройство.
-
Скопировать файлы. С помощью системной функции копирования файлы (или файл менеджера), которые перечислены в разделе 4 этого документа, с носителя на жесткий диск в нужные каталоги. Для испытаний любой доступный каталог (DZ_2kurs.exe). Для подключения в новый проект (DZ.h, DZ_Class.h, DZ_LIB.cpp) в общий каталог заголовочных файлов или в специально созданный каталог для новой сборки тестового примера (DZ_Array.exe , DZ_Array.cpp ,DZ.h, DZ_Class.h, DZ_LIB.cpp).
-
Прописать в установках каталогов для используемой на компьютере системы программирования С++ полный пути к директории, куда был установлены модели системы классов (DZ_Array.cpp ,DZ.h, DZ_Class.h, DZ_LIB.cpp).
3 РАБОТА С СИСТЕМОЙ КЛАССОВ
4 Общие сведения о системе классов улиц и домов
Система классов описывает дома и улицы для разработки программ, в которых учет сведений об этих объектах необходим.
Дом – объекты данного типа содержат информацию о номере дома, этажности, числе жителей и квартир, необходимости ремонта дома и типе дома. Предусматривается возможность изменения параметров дома.
Улица – объекты данного типа в упорядоченном виде содержат информацию о домах улице, названии улицы, типе улицы, соседних улицах (как резерв), необходимости ремонта улицы, числе домов, номера улицы (как резерв). Предусматривается возможность добавления домов на улицу и их удаления, изменения других параметров улицы.
Система классов позволяет программировать следующие операции и функции:
-
Создание и задание свойств объектов типа дом и улица;
-
Установка признака ремонта домов;
-
Сложение двух домов;
-
Получение параметров домов (номера, числа жителей, числа квартир, типа дома);
-
Установки и изменения параметров дома (номера, числа жителей, числа квартир, типа дома);
-
Удаление объектов типа дом и улица;
-
Распечатки свойств объектов типа дом и улица;
-
Добавление домов на конкретную улицу;
-
Удаление дома с конкретной улицы;
-
Сложение двух улиц (при объединении улиц);
-
Переименование улиц и новую нумерацию домов;
-
Распечатки списка домов улицы с их характеристиками;
-
Получение параметров улицы (названия, числа жителей, числа квартир, типа улицы);
-
Установки и изменения параметров улицы (названия, числа жителей, числа квартир, типа улицы);
-
Автоматическое получение признаков необходимости ремонта домов на улице.
5 Диаграмма классов улиц и домов
Ниже приставлена диаграмма классов системы классов улиц и домов программного обеспечения (ПО).
Классы имеют следующее назначение:
Класс CObject - системный абстрактный класс для наследования общих свойств объектов системы классов.
Класс AbsStreet - абстрактный класс, в котором учтены общие свойства улиц.
Класс AbsHome - абстрактный класс, в котором учтены общие свойства домов, размещаемых на улицах.
Класс Street - класс улиц, для создания объекта типа улица, позволяющий создавать объекты, учитывающие свойства: название, список домов, число домов и др.
Класс Home - класс дома, позволяющий создавать объекты описывающие дома, в которых учтены свойства: номер, число квартир, число жителей, признак ремонта и др.
Примечание 1. В данном руководстве описаны только те классы и их составляющие (методы и свойства), которые необходимы пользователю для реализации своих задач. Это классы Street и Home. Описание других составляющих системы классов улиц и домов можно найти в документах: “Техническое описание” и “Описание тестового примера”.
Примечание 2. Результаты работы фрагментов текста программ можно найти в документах: “Программа и методика испытаний” и “Описание тестового примера”.
6 Подключение системы классов в программу
В данном фрагменте подключаются заголовочные файлы библиотек: ввода вывода (iostream), стандартных классов MFC (stdafx.h) и собственной системы классов улиц и домов (DZ.h, DZ_Class.h, DZ_LIB.cpp). Кроме того, объявлено использование именованного пространство стандартных функций (std). В проект подключается модуль - DZ_LIB.cpp.
#include "stdafx.h"
#include " DZ_Class.h "
#include <iostream>
using namespace std;
7 Общие данные и переменные
В программах, использующих систему классов улиц и домов применяются следующие глобальные переменные и перечисления.
№ | Описание данных и перечислений | Назначение | Параметры и значения |
| enum BOOL {false=0 , true}; | Логические значения | false , true |
| static BOOL DestructorDeleteObj; | Глобальный Признак удаления объектов | false , true |
| enum HomeType{fast, multiple , complex}; | Тип дома | Fast - простой, multiple -многокорпусный, complex - сложный |
| enum StreetType{one, two , more }; | Тип улицы: | one - односторонняя, two - двухсторонняя, more - много полос |
| enum TypeAddDel {tail, head, Number ,NumbAfter, NumbCurrent, NumbBefore, AssbAfter, AssCurrent, AssBefore , createObj , nocreateObj , deleteObj, nodeleteObj }; | Режим добавления и удаления объектов | head - голова (начало), tail – хвост (конец), Number – номер (по номеру). createObj – новый объект nocreateObj – не создается deleteObj - удаляется nodeleteObj – не удаляется |
8 КЛАСС ДОМОВ - Home
Класс Home. Дом – объекты данного типа содержат информацию о номере дома, этажности, числе жителей и квартир, необходимости ремонта дома и типе дома. Предусматривается возможность изменения параметров дома.
9 Данные и переменные класса Home
В классе Home объявлены следующие свойства доступные пользователю:
Переменная | Тип свойства | Защита | Назначение |
Home_Number | char * | public | Номер дома (имя) |
iHome | int | public | Номер дома числовой |
EtagCount | int | public | Число этажей |
MenCount | int | public | Число жителей |
TypeHome | HomeType | public | Тип дома (перечисление: простой, многокорпусный, сложный) |
NumbApartament | int | public | Число квартир |
HomeRemont | BOOL | public | Признак необходимости ремонта дома |
10 Конструкторы класса Home
В классе Home описаны следующие конструкторы:
№ п/п | Прототип | Тип возврата | Назначение /Параметры |
| Home() | Home & | Нет |
| Home( Home & H) | Home & | Новый на основе ссылки на объект типа дом: Home & |
| Home( Home * pH) | Home & | Новый на основе указателя на объект типа дом: Home * |
| Home(const char *HomName, const char *Number) | Home & | Новый с параметрами: HomName - имя Number - номер дома |
| Home(const char *HomName, const char *Number, int Numb) | Home & | Новый с параметрами: HomName - имя дома, Number - номер дома Numb - номер для поиска |
| Home(const char *HomName, const char *Number, int Numb, int Etag, int Men=0,HomeType Type = fast,int Apart=0) | Home & | Новый с параметрами: HomName - имя дома, Number - номер дома Numb - номер для поиска, Etag - этажность, Men - число жителей, Type – тип дома, Apart - число квартир |
Примеры использования конструкторов: