3.ТО (1077197)
Текст из файла
Московский государственный технический университет им. Н.Э.Баумана
_________________________________________________________________
| Утверждаю: | |
| Большаков С.А. | "__"_____________2008 г. |
Домашнее задание по дисциплине ПППО
“< Классы таблиц >”
<Техническое описание>
(вид документа)
A4
(вид носителя)
8
(количество листов)
| ИСПОЛНИТЕЛЬ: | |
| студент группы ИУ5-61 | Забаева А. Л. |
| Большаков С.А. | "__"_____________2008 г. |
Москва - 2008
1. ОБЩИЕ СВЕДЕНИЯ О ПРОГРАММНОМ ОБЕСПЕЧЕНИИ.
Система классов написана на языке С++ в версии компании Borland Int. Файлы программного продукта:
| Файл | Описание | Размер |
Cell.h | Файл заголовка | 758 b |
Column.h | Файл заголовка | 343 b |
| Abstr.h | Файл заголовка | 312 b |
| List.h | Файл заголовка | 1.93 Kb |
| Node.h | Файл заголовка | 375 b |
| Table.h | Файл заголовка | 2.52 Kb |
| About.cpp | Файл исходного кода | 191 b |
| Main.cpp | Файл исходного кода | 1.96 Kb |
| Main.exe | Исполняемый файл | 40.38 Kb |
2. СТРУКТУРА КЛАССОВ СИСТЕМЫ.
2.1. ОПИСАНИЕ КЛАССОВ
Система классов «Таблица» состоит из 6 классов – Abstr(абстрактный класс-строка),Cell (класс ячейка, наследованный от класса строка), Node (класс узел, элемент списка, Включает либо узел, либо строку-название), List (список, состоящий из узлов, наследован от абстрактного класса строка),Column(столбец-спиоск узлов,с названием) и Table (класс Таблица).
Абстрактный класс Abstr предназначен для объявления общих функций, таких как распечатка, установка значения строки, и общих данных - поле строка.
Класс Cell предназначен для хранения непосредственно текстовых данных. Он содержит текстовые данные, номер строки и столбца в таблице. Для конечного пользователя в public доступе содержатся функции, в основном, контрольного типа – печать ячейки, просмотр её свойств, а также функция замены текста в ячейке. Сделано это для того, чтобы не дать пользователю возможность случайно изменить «внутрисистемные» переменные класса. Можно распечатать строку и колонку, в которой содержится ячейка.
Кроме того, объект ячейки в отдельности не имеет ценности для конечного пользователя.
Класс Node нужен для того чтобы оперировать им в списке. Он включает в себя строку- в конечном счете это или ячейка или название ,заголовок столбца или строки. Также он содержит указатель на предыдущую запись и следующую, для удобства оперирования в списке.
Класс List это реализация списка, контейнерный класс, включает в себя узлы. Имеет начало списка, конец списка, текущий узел.В список можно добавлять узлы, удалять узлы из списка, распечатать список.
Класс Column – это класс-контейнер наследник класса список . Он предназначен для хранения столбца таблицы. Физически, контейнер представляет собой массив объектов Cell. Можно при создании задать номер столбца и заголовок столбца
Класс Table – это класс Таблица с перегруженной функцией печати таблицы. Это контейнерный класс, он содержит указатель на список столбцов. В таблицу можно добавить столбец, добавить строку, распечатать число строк и столбцов таблицы и заголовки столбцов.
2.2. ДИАГРАММА КЛАССОВ СИСТЕМЫ
2.3. МОДУЛЬНАЯ СТРУКТУРА КЛАССОВ
2.4. ОПИСАНИЕ ДАННЫХ КЛАССОВ
| Название | Тип | Описание |
| Abstr::Value | Char * | Текст в строке |
| Cell::Row | Int | Позиция ячейки в таблице по горизонтали |
| Cell::Col | Int | Позиция ячейки в таблице по вертикали |
| Node::Prev | Node* | Указатель на предыдущий узел |
| Node::Next | Node* | Указатель на следующий узел |
| Node::A | Abstr* | Указатель на текст узла |
| List::Head | Node* | Первый узел списка |
| List::Current | Node* | Текущий узел списка |
| List::Tail | Node* | Последний узел списка |
| List::Count | Int | Количество элементов в списке |
| Column::Number | Int | Номер столбца в таблице |
| Table:: RowCount | Int | Количество строк в таблице |
| Table:: ColCount | Int | Количество столбцов в таблице |
| Table:: Columns | List* | Указатель на список столбцов |
2.5. ОПИСАНИЕ ФУНКЦИЙ КЛАССОВ
Функции класса Abstr
Класс Abstr | |||
| Название метода | Входные данные | Выходные данные | Описание |
| AbstStr | Конструктор | ||
| AbstStr | char* | Конструктор | |
| ~AbstStr | Деструктор | ||
| | Печать строки | ||
| Класс Cell | |||
| Cell | int, int, char* | Конструктор | |
| | Печать свойств ячейки | ||
| operator+ | char* | Cell* | Добавляет текст в ячейку |
| PrintCol | Печать столбца ячейки | ||
| PrintRow | Печать строки ячейки | ||
| PrintValue | Печать содержимого ячейки | ||
Класс Node | |||
| Node | Конструктор | ||
| Node | Abstr* | Конструктор | |
| ~Node | Деструктор | ||
| Класс List | |||
| List | Конструктор | ||
| List | char* | Конструктор | |
| ~List | Деструктор | ||
| Operator+ | Node* | Добавить узел | |
| Add | Node* | Добавить узел | |
| Delete | Node* | Удалить узел | |
| Operator- | Node* | Удалить узел | |
| | Распечатка списка | ||
Класс Column | |||
| Column | int | Конструктор | |
| Column | char*, int | Конструктор | |
| ~Column() | Деструктор | ||
| | Распечатка столбца | ||
| Класс Table | |||
| Table | Конструктор | ||
| Table | char* | Конструктор | |
| ~Table | Деструктор | ||
| AddCol | char* | Column* | Добавить столбец в таблицу |
| AddRow | List* | void | Добавить строку в таблицу |
| PrintTitles | void | Распечатать заголовки столбцов | |
| PrintTable | void | Распечатать таблицу | |
| GetColCount | Int | Количество столбцов | |
| GetRowCount | Int | Количество строк | |
3. ДИАГРАММА ОБЪЕКТОВ ТЕСТОВОГО ПРИМЕРА
4. ОПИСАНИЕ ТЕСТОВОГО ПРИМЕРА
См. документ «Описание тестового примера».
5. ОПИСАНИЕ ОТЛАДКИ КЛАССА
-
Освобождение указателя, возвращаемого функцией.
-
Несоответствие типов при работе с указателями.
-
Неверное явное преобразование типов.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















