Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
|
Начало -> Информатика, программирование -> Реализация списка
Название: | Реализация списка |
Просмотров: | 69 |
Раздел: | Информатика, программирование |
Ссылка: | none(0 KB) |
Описание: | Реализация списка Необходимо реализовать список вида: Техническое описание программы. В программе предусмотрена работа со списком, которая включает в себя: Создание нового вписка; Добавление элемента в список; Вывод списка на дисплей; Сохранение данных списка в файл; Чтение данных из файла; Удаление списка из памяти компьютера; Поиск элемента в списке; Сортировка списка; Удаление элемента списка. Спецификация программы. Ввод данных в программу может осуществляться двумя способами: ввод с клавиатуры или из файла. Для работы с файлом необходимо на соответствующий запрос программы ввести имя файла, из которого будут взяты данные для построения списка. Для нормальной работы программы требуется 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; i {Tree *PTree; PTree=new Tree(i); PTree->LP=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< cout<<" 1. Make New List." < cout<<" 2. Add Element." < cout<<" 3. Print List." < cout<<" 4. Delete Element."< cout<<" 5. Save List." < cout<<" 6. Erase List." < cout<<" 7. Open File." < cout<<" 8. Find Element." < cout<<" 9. Sort List." < cout<<" 0. Exit." < cout< int i; do {cin>>i; if (i<0 i>9) cout< } while (i<0 i>9); return i; } int TreeWork::SubMenu() {cout< cout<<"1. Sort list by increase."< cout<<"2. Sort list by decrease."< int i; cout<<"Your choice: "; do {cin>>i; if (i<1 i>2) cout< } while (i<1 i>2); return i; } int TreeWork::SubWork(int Task) {switch (Task) {case 1 : SortByIncrease(); break; //Increase case 2 : SortByDecrease(); break; //Decrease } return 0; } int TreeWork::Work(int Task) {switch (Task) {case 1 : ElementQuantity=MakeNewList(); break; //Make New List case 2 : ElementQuantity+=AddElements(); break; //Add Element case 3 : PrintList(); break; //Print List case 4 : DeleteElement(); break; //Delete Element case 5 : SaveList(); break; //Save List case 6 : ElementQuantity=0; EraseList(); break; //Erase List case 7 : OpenList(); break; //Open File case 8 : FindElement(); break; //Find Element case 9 : SubWork(SubMenu()); break; //Sort List case 0 : EraseList(); return -1; //Exit } return 0; } void TreeWork::TreeWorkStart() {ElementQuantity=0; do {} while (Work(MainMenu())!=-1); } int TreeWork::MakeNewList() {if (BegP!=NULL) {cout< int Quant; cout< do {cin>>Quant; if (Quant<1) cout< } while (Quant<1); for (int i=0; i {cout< int Digit; cin>>Digit; PList=new List(Digit); if (BegP==NULL) {BegP=PList; BegP->LNext=BegP; BegP->LPrev=BegP; PList=NULL;} else {List *PList1=BegP->LPrev; if (PList1==BegP) {BegP->LNext=PList; BegP->LPrev=PList; PList->LNext=BegP; PList->LPrev=BegP; PList=NULL; PList1=NULL;} else {BegP->LPrev=PList; PList1->LNext=PList; PList->LNext=BegP; PList->LPrev=PList1; PList=NULL; PList1=NULL;} } } return Quant; } int TreeWork::AddElements() {if (BegP==NULL) {MakeNewList(); return 0;} int Quant; cout< do {cin>>Quant; if (Quant<1) cout< } while (Quant<1); for (int i=0; i {cout< int Digit; cin>>Digit; PList=new List(Digit); List *PList1=BegP->LPrev; if (PList1==BegP) {BegP->LNext=PList; BegP->LPrev=PList; PList->LPrev=BegP; PList->LNext=BegP; PList1=NULL; PList=NULL;} else {BegP->LPrev=PList; PList->LNext=BegP; PList->LPrev=PList1; PList1->LNext=PList; PList=NULL; PList1=NULL;} } return Quant; } int TreeWork::PrintList() {if (BegP==NULL) {cout< cout< PList=BegP; int i=1; do {cout< GoThroughTree(PList->Root); cout< i++; PList=PList->LNext;} while (PList!=BegP); return 0; } void TreeWork::GoThroughTree(Tree *L) {Tree *PL=L, *PL1; if (PL->LP!=NULL) {PL1=PL; PL=PL->LP; cout<<"("< |
| | Часть полного текста документа:Р ............ |
|
Похожие работы:
Название: | Написание программы "Угадайка" |
Просмотров: | 284 |
Описание: |
Данные о работе:
Курсовая
работа
Название
дисциплины: Алгоритмические языки и программирование
Тема:
Написание программы "Угадайка"
Содержание
Введение
1. Разработка программы
1.1 Техниче |
|