Руководство пользователя (Готовое ДЗ неизвестного варианта (4))
Описание файла
Файл "Руководство пользователя" внутри архива находится в папке "Готовое ДЗ неизвестного варианта (4)". Документ из архива "Готовое ДЗ неизвестного варианта (4)", который расположен в категории "". Всё это находится в предмете "объектно-ориентированное программирование (ооп)" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "объектно-ориентированное программирование (ооп)" в общих файлах.
Онлайн просмотр документа "Руководство пользователя"
Текст из документа "Руководство пользователя"
Московский государственный технический университет им. Н.Э.Баумана
_______________________________________________________________________
Утверждаю: | |
Большаков С.А. | "__"_____________2004 г. |
Курсовая работа по дисциплине СП
Система классов Таблица
Руководство пользователя
(вид документа)
писчая бумага
(вид носителя)
4
(количество листов)
ИСПОЛНИТЕЛЬ: | |
студент группы ИУ5-64 | Маркус М.Р. |
Большаков С.А. | "__"_____________2004 г. |
Москва - 2004
-
НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ
Система классов «Таблица» предназначена для создания объектной модели таблицы текстовых данных. Используется как встраиваемые классы при проектировании других программ. Написана на языке С++.
-
ПОДГОТОВКА К РАБОТЕ С ПРОГРАММОЙ
Скопируйте все файлы поставки в директорию на жёстком диске и пропишите директорию в переменной PATH. Воспользуйтесь директивой #include.
-
ЗАПУСК ПРОГРАММЫ
Для использования системы включите следующие файлы в файл вашей программы:
#include "cell.cpp"
#include "row.cpp"
#include "absttabl.cpp"
#include "table.cpp"
-
РАБОТА С СИСТЕМОЙ КЛАССОВ
Система классов «Таблица» состоит из 4 классов – Cell (класс ячейка), Row (класс строка), AbstractTable (абстрактный класс таблица) и Table (наследованный класс от класса AbstractTable).
Класс Cell предназначен для хранения непосредственно текстовых данных. Он содержит указатель на текстовые данные. Для конечного пользователя в public доступе содержатся функции, в основном, контрольного типа – печать ячейки, просмотр её свойств, а также функция замены текста в ячейке. Сделано это для того, чтобы не дать пользователю возможность случайно изменить «внутрисистемные» переменные класса. Кроме того, объект ячейки в отдельности не имеет ценности для конечного пользователя.
Класс Row – это класс-контейнер ячеек. Он предназначен для хранения строки таблицы. Физически, контейнер представляет собой массив объектов Cell. Также как и класс Cell, класс Row в public доступе имеет функции, позволяющие только просматривать свойства объекта, осуществлять доступ к хранимым ячейкам, а также осуществлять вывод строки. Единственная функция, позволяющая изменять свойство класса – функция установки режима отображения строки.
Класс AbstractTable, как видно из названия, является абстрактным классом таблицы. Он содержит все функции для управления таблицей и доступа к её содержимому. Этот класс предназначен для использования непосредственно конечным пользователем. Чистая виртуальная функция этого класса – это функция печати таблицы. Также он является контейнером для объектов класса Row.
Класс Table – это наследованный класс от AbstractTable с перегруженной функцией печати таблицы. Все остальные функции наследуются без изменений.
Примеры использования функций системы:
Создание ячейки:
Cell A("This is Test",10,4);
Печать содержимого ячейки:
A.printCell(cout);
Использование public функций ячейки для получения свойств:
cout << "Text:" << A.getText() << endl;
cout << "Text Length:" << A.getTextLength() << endl;
cout << "Cell X:" << A.getCellX() << endl;
cout << "Cell Y" << A.getCellY() << endl;
cout << "Union vertical size:" << A.getUVS() << endl;
cout << "Union horizontal size" << A.getUHS() << endl;
cout << "Is Visible:" << A.getVis() << endl;
cout << "Is in union:" << A.getUn() << endl;
Создание таблицы:
Table T("Test");
Добавление строки из 5 ячеек в таблицу:
T.addRow( 5, 0);
Добавление текста в ячейки 0 строки:
T.addCell (0,0,"0-A");
T.addCell (0,1,"0-B");
T.addCell (0,2,"0-C");
T.addCell (0,3,"0-D");
T.addCell (0,4,"0-E");
Печать таблицы:
T.printTable(cout);
Добавление колонки из 3 ячеек на 3 место:
T.addCol( 3, 3);
Печать строки:
T[0].printRow(cout);
Печать строки как части таблицы:
T[0].printLineRow(cout);
Использование public функций строки для получения свойств:
cout << endl << "Row Length:" << T[0].getRowLength() << endl;
cout << endl << "Row X:" << T[0].getRowX() << endl;
cout << endl << "Is Visible:" << T[0].getVis() << endl;
Использование перегруженных операций [] для получения доступа к строке и ячейке:
(T[0])[0].printCell(cout);
Установка видимости строки:
T[1].setVis(0);
Получение видимости ячейки:
T.getCellVis(2,2)
Установка видимости ячейки:
T.setCellVis(2,2,0);
Обмен содержимым ячеек (1,1) и (2,2)
T.swapCells(2,2,1,1);
Использование public функций таблицы для получения свойств:
cout << endl << "Table consists of " << T.getRowsNum() << " rows";
cout << " and " << T.getColsNum() << " cols" << endl;
Объединение ячеек в юнион с левым верхним углом (1,1) и размером 3х3.
T.uniteCells(1,1,3,3);
Вычитание из таблицы ячейки:
A.setText("2-C");
(T - A).printTable(cout);
Удаление строки (всё юнионы сохраняются!):
T.deleteRow(2);
Удаление столбца (все юнионы сохраняются!):
T.deleteCol(3);
Пробуем разбить юнион, в котором состоит ячейка (2,2)
T.deuniteCell(2,2);
-
ОПИСАНИЕ СООБЩЕНИЙ ОБ ОШИБКАХ И ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ ПРИ РАБОТЕ С ПРОГРАММОЙ
Исключительные ситуации в программе могут возникнуть из-за малого количества оперативной памяти, т.к. вся таблица содержится именно там.