Описание тестового примера (Готовое ДЗ неизвестного варианта (4))
Описание файла
Файл "Описание тестового примера" внутри архива находится в папке "Готовое ДЗ неизвестного варианта (4)". Документ из архива "Готовое ДЗ неизвестного варианта (4)", который расположен в категории "". Всё это находится в предмете "объектно-ориентированное программирование (ооп)" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "объектно-ориентированное программирование (ооп)" в общих файлах.
Онлайн просмотр документа "Описание тестового примера"
Текст из документа "Описание тестового примера"
Московский государственный технический университет им. Н.Э.Баумана
_______________________________________________________________________
Утверждаю: | |
Большаков С.А. | "__"_____________2004 г. |
Курсовая работа по дисциплине СП
Система классов Таблица
Описание тестового примера
(вид документа)
писчая бумага
(вид носителя)
7
(количество листов)
ИСПОЛНИТЕЛЬ: | |
студент группы ИУ5-64 | Маркус М.Р. |
Большаков С.А. | "__"_____________2004 г. |
Москва - 2004
-
ОПИСАНИЕ ПРОГРАММЫ
Данный тестовый пример предназначен для демонстрации возможностей системы классов «Таблица». С его помощью можно ознакомится со способом применения системы классов и их функций.
-
ПОЯСНЕНИЕ КОДА ПРОГРАММЫ
Очистка экрана
clrscr();
Создание ячейки с заданным текстом и позицией в таблице.
cout << "Creating cell..." << endl << endl;
Cell A("This is Test",10,4);
Печать ячейке на потоке.
cout << "Printing cell..." << endl << endl;
A.printCell(cout);
Соединение текста в двух ячейках с помощью перегруженного оператора +
cout << "Concateneting two cells..." << endl;
Cell B(" This is also test",2,4);
B.printCell(cout);
А = (A + B);
A.printCell(cout);
cout << endl << "Press any key..." << endl;
getch();
Тестирование функций класса Cell, позволяющих получить доступ к его свойствам.
cout << endl << "Testing cell public functions..." << endl;
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;
cout << endl << "Press any key..." << endl;
getch();
Создание таблицы.
cout << endl << "Creating table..." << endl;
Table T("Test");
Добавление строк к таблице (строки длиной 5 ячеек добавляются на 0 позицию).
cout << endl << "Adding rows to table..." << endl;
T.addRow( 5, 0);
T.addRow( 5, 0);
T.addRow( 5, 0);
T.addRow( 5, 0);
Добавление ячеек в таблицу.
cout << endl << "Adding cells to table..." << endl;
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.addCell (1,0,"1-A");
T.addCell (1,1,"1-B");
T.addCell (1,2,"1-C");
T.addCell (1,3,"1-D");
T.addCell (1,4,"1-E");
T.addCell (2,0,"2-A");
T.addCell (2,1,"2-B");
T.addCell (2,2,"2-C");
T.addCell (2,3,"2-D");
T.addCell (2,4,"2-E");
T.addCell (3,0,"3-A");
T.addCell (3,1,"3-B");
T.addCell (3,2,"3-C");
T.addCell (3,3,"3-D");
T.addCell (3,4,"3-E");
Печать таблицы на потоке.
cout << endl << "Printing table..." << endl;
T.printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
Добавление столбца на 3 позицию.
cout << endl << "Adding col on 3 position..." << endl;
T.addCol( 3, 3);
T.printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
Тестирование функций класса Row, позволяющих получит доступ к его свойствам.
cout << endl << "Testing row public functions..." << endl;
cout << "Printing row..." << endl;
T[0].printRow(cout);
cout << endl << "Press any key..." << endl;
getch();
cout << endl << "Printing row in line..." << endl;
T[0].printLineRow(cout);
cout << endl << "Row Length:" << T[0].getRowLength() << endl;
cout << endl << "Row X:" << T[0].getRowX() << endl;
cout << endl << "Is Visible:" << T[0].getVis() << endl;
Тестирование перегруженного оператора, дающего доступ к ячейка строки.
cout << endl << "Testing overloaded [] operator..." << endl;
(T[0])[0].printCell(cout);
Изменение режима отображения строки.
cout << endl << "Set 1 string to invisible mode:" << endl;
T[1].setVis(0);
T.printTable(cout);
T[1].setVis(1);
cout << endl << "Press any key..." << endl;
getch();
Тестирование функций класса Table.
cout << endl << "Testing table public functions..." << endl;
cout << endl << "Cell (2,2) Is Visible:" << T.getCellVis(2,2) << endl;
Изменение режима отображения ячейки.
cout << endl << "Set cell (2,2) in invisible mode..." << endl;
T.setCellVis(2,2,0);
T.printTable(cout);
Обиен содержимым двух ячеек.
cout << endl << "Swapping cells (2,2) and (1,1)" << endl;
T.swapCells(2,2,1,1);
T.printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
Получение свойств таблицы.
cout << endl << "Table consists of " << T.getRowsNum() << " rows";
cout << " and " << T.getColsNum() << " cols" << endl;
Объединение ячеек в юнион размером 3х3 с левым верхним углом в ячейке 1,1
cout << endl << "Uniting cells: (Top-Left = (1,1), Size = 3x3)..." << endl;
T.uniteCells(1,1,3,3);
T.printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
Изменение режима видимости юниона.
cout << endl << "Set cell (2,3) to visible mode..." << endl;
T.setCellVis(2,3,1);
T.printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
Печать дополнительнйо информации о ячейке.
cout << endl << "Printing information about cell (2,2)..." << endl;
(T[2])[2].printCell(cout);
Тестирование перегруженного оператора -.
cout << endl << "Table - cell (Text = 2-C)..." << endl;
A.setText("2-C");
(T - A).printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
Удаление строки.
cout << endl << "Deleting row 2..." << endl;
T.deleteRow(2);
T.printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
Удаление столбца.
cout << endl << "Deleting col 3..." << endl;
T.deleteCol(3);
T.printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
Разбиение юниона, в котором состоит ячейка 2,2
cout << endl << "Excluding cell (2,2) from union..." << endl;
T.deuniteCell(2,2);
T.printTable(cout);
cout << endl << "Press any key..." << endl;
getch();
-
ДИАГРАММА ОБЪЕКТОВ ПРИМЕРА
-
ОСОБЕННОСТИ ПРИМЕНЕНИЯ СИСТЕМЫ
Система классов «Таблица» может применяться при разработке приложений, где так или иначе требуется реализация объекта «Таблица». Для этого в системе реализован весь необходимый инструментарий.
Система является нетребовательной к ресурсам компьютера (за исключением, может, оперативной памяти), поэтому с успехом может применяться даже на слабых машинах. В тестовых испытаниях система показала свою стабильность и работоспособность.
Для разработчика, использующего данную систему, также удобен тот факт, что в системе имеется абстрактный класс с перегружаемой функцией печати таблицы, так что она может использоваться не только в текстовом интерфейсе, но и в графическом.