8.ОписПрим (Готовое ДЗ неизвестного варианта (5))
Описание файла
Файл "8.ОписПрим" внутри архива находится в папке "Готовое ДЗ неизвестного варианта (5)". Документ из архива "Готовое ДЗ неизвестного варианта (5)", который расположен в категории "". Всё это находится в предмете "объектно-ориентированное программирование (ооп)" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "объектно-ориентированное программирование (ооп)" в общих файлах.
Онлайн просмотр документа "8.ОписПрим"
Текст из документа "8.ОписПрим"
Московский государственный технический университет им. Н.Э.Баумана
_________________________________________________________________
Утверждаю: | |
Большаков С.А. | "__"_____________2008 г. |
Домашнее задание по дисциплине ПППО
“< Классы таблиц >”
<Описание примера>
(вид документа)
A4
(вид носителя)
7
(количество листов)
ИСПОЛНИТЕЛЬ: | |
студент группы ИУ5-61 | Забаева А. Л. |
Большаков С.А. | "__"_____________2008 г. |
Москва - 2008
Содержание
Описание тестового примера. 2
Диаграмма классов системы. 6
Диаграмма объектов. 7
Описание тестового примера.
Тестовый пример предназначен для демонстрации основных возможностей созданной системы классов. С его помощью можно ознакомиться с основными методами работы с системой классов «Таблица».
Данная программа только демонстрирует основные возможности. При выполнении программы от пользователя требуется ввод названий колонок и добавляемые значения полей таблицы.
Далее представлено подробное описание демонстрационного примера.
Создание указателя на объект «таблица»
Table* table = new Table();
Создание переменной для работы с таблицей и другими объектами
char* value = new char[CELL_LENGTH];
Запрос пользователя на ввод заголовка первой колонки
cout << "Enter two Columns Header. It was add to Table." << endl;
cout << "First column Header ( < " << CELL_LENGTH <<" symbols): ";
cin >> value;
Добавление колонки в таблицу
table->AddCol(value);
Запрос пользователя на ввод заголовка второй колонки
cout << "Second column Header ( < " << CELL_LENGTH <<" symbols): " << endl;
cin >> value;
Добавление колонки в таблицу
table->AddCol(value);
Создание пустого списка
cout << "\nAdd to Table empty values: " << endl;
List* list = new List();
Добавление ряда в колонку
table->AddRow(list);
Печать таблицы
table->PrintTable();
Результат выполнения программы представлен на рис.1.
Получения количества колонок и рядов в таблице
int i;
int colCount = table->GetColCount();
int rowCount = table->GetRowCount();
Запрос у пользователя значения для добавления в ряд
cout << "\nEnter value to add new Row in Table ( < " << CELL_LENGTH <<" symbols): " << endl;
cin >> value;
Формирования списка для добавления ряда
for (i = 0; i < colCount; i++)
{
Cell* cell = new Cell(rowCount, i, value);
Node* node = new Node(cell);
list->Add(node);
}
Добавления ряда в таблицу с заданными значениями
table->AddRow(list);
Печать таблицы
table->PrintTable();
Результат выполнения программы представлен на рис.2.
Запрос у пользователя значения для добавления в ряд
cout << "\nEnter value to add new Row int Table ( < " << CELL_LENGTH <<" symbols): " << endl;
cin >> value;
Формирования списка для добавления ряда
Node* node = list->Head;
for (i = 0; i < colCount; i++)
{
(node->A)->Value = value;
node = node->Next;
}
Добавления ряда в таблицу с заданными значениями
table->AddRow(list);
table->PrintTable();
Результат выполнения программы представлен на рис.3.
Запрос пользователя на значение нового заголовка колонки
cout << "\nEnter Header of new Column ( < " << CELL_LENGTH <<" symbols): " << endl;
cin >> value;
Добавление новой колнки с заданным значением
table->AddCol(value);
Печать таблицы
table->PrintTable();
Результат выполнения программы представлен на рис.4.
Добавления знчения в первое поле последней колонки
list = (List*)table->Columns->Tail->A;
Cell* cell = (Cell*)list->Head->A;
cout << "\nEnter Header of new Column ( < " << CELL_LENGTH <<" symbols): " << endl;
cin >> value;
(Cell*)list->Head->A = *cell + value;
Печать таблицы
table->PrintTable();
Результат выполнения программы представлен на рис.5.
Рис.1.
Рис.2.
Рис.3.
Рис.4.
Рис.5.
Диаграмма классов системы.
Диаграмма классов показана на рис. 6.
Рис.6.
Диаграмма объектов.
Диаграмма объектов показана на рис. 7.
Рис.7.