- •Курсовая работа
- •Пояснительная записка
- •Содержание
- •Задание
- •Структурное описание разработки
- •Функциональное описание
- •Класс tList
- •Класс BigInt
- •Класс Elm
- •Класс window
- •Класс MainClass
- •Интерфейс object
- •Приложение Класс MainClass
- •Класс window
- •Класс tList
- •Класс Elm
- •Класс BigInt
- •Интерфейс object
Министерство образования Российской Федерации
Новосибирский государственный технический университет
Курсовая работа
по программированию
Пояснительная записка
Факультет: АВТФ
Группа: АБ-421
Выполнил: Барильник С.С.
Проверил: Романов Е. Л.
Новосибирск 2006
Содержание
Содержание 2
Задание 3
Структурное описание разработки 4
Функциональное описание 6
Класс TList 6
Класс BigInt 7
Класс Elm 10
Класс window 10
Класс MainClass 11
Интерфейс object 11
Приложение 11
Класс MainClass 11
Класс window 11
Класс TList 14
Класс Elm 18
Класс BigInt 18
Интерфейс object 25
Задание
Разработать структуру элементов данных класса в виде динамической структуры данных. Разработать:
конструкторы для различных типов входных данных (без параметров, параметр-строка, параметр-массив), конструктор копирования (объект из объекта) и деструктор;
методы вывода и ввода содержимого объекта в поток (на экран), в текстовую строку (из строки);
получения ссылки на внутренние данные объекта (например, на коэффициент матрицы);
базовый набор содержательных операций над типом данных (например, арифметических и сравнения).
Реализовать структуру данных:
Целые произвольной длины во внутреннем двоичном представлении (динамический массив байтов) в дополнительном коде.
Арифметику класса реализовать в виде стандартного набора переопределенных операций с " арифметической" интерпретацией результат операции новый объект. Разработать конструктор копирования, переопределить арифметические операции, присваивание, сравнение, ввод /вывод в стандартные потоки.
Разработать абстрактный базовый класс объектов object, для него предусмотреть виртуальные методы:
1. загрузки объекта из текстовой строки;
2. выгрузки объекта в текстовую строку в динамической памяти;
3. добавления объекта в последовательный двоичный файл;
4. чтения объекта из последовательного двоичного файла;
5. возврата уникального идентификатора класса;
6. возврата указателя на строку с именем класса;
7. сравнения двух объектов;
8. “сложения “(объединения) двух объектов;
9. создание динамической копии объекта.
Разработать класс структуры данных в памяти. Тип хранимого элемента - указатель на объект базового класса object*. Реализовать операции включения / удаления по заданному логическому номеру, поиск минимального / максимального, включение с сохранением порядка, сортировки выбором или вставками, загрузки хранимых элементов в структуру данных из последовательного потока, используя исключительно виртуальные функции базового класса. Проверить работу структуры данных на объектах разработанного класса. Структура данных: циклический двусвязный список.
Демонстрационная программа должна иметь объект - структуру данных, содержимое которой (хранимые объекты двух типов) выводятся в виде списка (меню). Также должен быть задан набор операций в виде списка (меню): добавление объекта, удаление выбранного объекта, сохранение и загрузка объектов из двоичного файла, сортировка объектов и выбор минимального /максимального (если все они одного типа). Все хранимые объекты динамические.