МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ им. К.Э. ЦИОЛКОВКОГО
КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Курсовая работа второго курса второго семестра.
Руководитель: Чернадский
Дата сдачи: _____________
Подпись: _____________
Студент: Лицентов Д.Б.
Группа: 3ИТ-2-26
Москва
1998
Постановка задачи.
Необходимо реализовать список вида:
Техническое описание программы.
В программе предусмотрена работа со списком, которая включает в себя:
1. Создание нового вписка; 2. Добавление элемента в список; 3. Вывод списка на дисплей; 4. Сохранение данных списка в файл; 5. Читение данных из файла; 6. Удаление списка из памяти компьютера; 7. Поиск элемента в списке; 8. Сортировка списка; 9. Удаление элемента списка.
Спецификация программы.
Ввод данных в программу может осуществляться двумя спосабами: ввод с
клавиатуры или из файла.
Для работы с файлом необходимо на соответствующий запрос программы ввести
имя файла, из которого будут взяты данные для построения списка.
Для нормальной работы программы требуется PC совместимый компьютер и
компилятор Borland 3.01 и выше. При использование иного сочетая
характеристик системы на которой будет тестироваться программа возможны
некоторые расхождения с результатами теста, но в основном ничего страшного
произойти не должно.
Текст программы.
#include
#include
class List {struct Tree
{int Body;
Tree *LP;
Tree *RP;
Tree(int Bdy=0) {Body=Bdy; LP=NULL; RP=NULL;}
~Tree() {Body=0; LP=NULL; RP=NULL;}
}; public:
List(int Digit=0);
Tree *Root;
List *LNext;
List *LPrev; };
List::List(int Digit) {Root=NULL; for (int i=Digit*10; iLP=NULL;
PTree->RP=NULL; if (Root==NULL)
Root=PTree; else
{Tree *PTree1=Root; do
{if (PTree1->LP!=NULL)
PTree1=PTree1->LP;} while (PTree1->LP!=NULL);
PTree1->LP=PTree;
PTree=NULL; PTree1=NULL;
}
} }
class TreeWork : private List {public: void TreeWorkStart(); private: int ElementQuantity; int Mass; int i;
List *BegP;
List *PList; int MainMenu(); int Work(int Task); int MakeNewList(); int AddElements(); int PrintList(); void EraseList(); int DeleteElement(); int FindElement(); int SubMenu(); int SubWork(int Task); int SortByIncrease(); int SortByDecrease(); int SaveList(); int OpenList(); protected: void GoThroughTree(Tree *L); void Erase(Tree *L); };
int TreeWork::MainMenu() {cout