МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Программирование на С++

    Программирование на С++

    МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ.

    МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

    им. К.Э. ЦИОЛКОВКОГО

    КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

    Курсовая работа второго курса второго семестра.

    Руководитель: Чернадский

    Дата сдачи: _____________

    Подпись: _____________

    Студент: Лицентов Д.Б.

    Группа: 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()

    int TreeWork::SubMenu()

    int 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>Quant;

    if (Quant>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>Quant;

    if (Quant>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)

    {coutRoot);

    coutLNext;}

    while (PList!=BegP);

    return 0;

    }

    void TreeWork::GoThroughTree(Tree *L)

    {Tree *PL=L, *PL1;

    if (PL->LP!=NULL)

    {PL1=PL;

    PL=PL->LP;

    coutBodyBodyRP!=NULL)

    {PL1=PL;

    PL=PL->RP;

    coutBodyBodyLP!=NULL)

    {PL=PL->LP;

    Erase(PL);}

    if (PL->RP!=NULL)

    {PL=PL->RP;

    Erase(PL);}

    PL->LP=NULL;

    PL->RP=NULL;

    }

    void TreeWork::EraseList()

    {if (BegP!=NULL)

    {do

    {List *PList1=BegP->LNext;

    PList=PList1->LNext;

    BegP->LNext=PList;

    PList->LPrev=BegP;

    Erase(PList1->Root);

    delete [] PList1;

    }

    while (PList!=BegP);

    BegP=NULL; PList=NULL;

    }

    }

    int TreeWork::DeleteElement()

    {cout>Number;

    if (Number>ElementQuantity || NumberLNext;

    List *PList1=PList->LNext, *PList2=PList->LPrev;

    if (PList==BegP)

    {PList1->LPrev=PList2;

    PList2->LNext=PList1;

    PList->LNext=NULL;

    PList->LPrev=NULL;

    delete [] PList;

    BegP=PList1;

    PList1=NULL; PList2=NULL;}

    else

    {PList1->LPrev=PList2;

    PList2->LNext=PList1;

    PList->LNext=NULL;

    PList->LPrev=NULL;

    delete [] PList;

    PList1=NULL; PList2=NULL;}

    ElementQuantity--;

    return 0;

    }

    int TreeWork::FindElement()

    {cout>Number;

    PList=BegP;

    do

    {Tree *PT=PList->Root;

    if (Number>PT->Body && NumberBody+10)

    {coutRoot);

    PList=NULL; coutLNext;

    }

    while (PList!=BegP);

    coutRoot->Body>PList->Root->Body)

    {Tree *PT;

    PT=PList1->Root;

    PList1->Root=PList->Root;

    PList->Root=PT;

    PT=NULL;}

    PList1=PList1->LNext;

    }

    while (PList1!=BegP);

    PList=PList->LNext;

    }

    while (PList!=BegP);

    return 0;

    }

    int TreeWork::SortByDecrease()

    {

    if(BegP==NULL) {coutRoot->BodyRoot->Body)

    {Tree *PT;

    PT=PList1->Root;

    PList1->Root=PList->Root;

    PList->Root=PT;

    PT=NULL;}

    PList1=PList1->LNext;

    }

    while (PList1!=BegP);

    PList=PList->LNext;

    }

    while (PList!=BegP);

    return 0;

    }

    int TreeWork::SaveList()

    {if (BegP==NULL)

    {cout>FileName;

    F.open(FileName);

    PList=BegP;

    do

    {i=0;

    Mass=PList->Root->Body;

    PList=PList->LNext;

    if (PList!=BegP)

    F>FileName;

    ifstream f;

    ElementQuantity=0;

    f.open(FileName);

    char Next;

    Next=f.peek();

    while (Next!=EOF)

    {

    f>>Mass;

    PList=new List(Mass/10);

    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;}

    }

    Next=f.peek();

    ElementQuantity++;

    }

    f.close();

    delete [] FileName;

    return 0;

    }

    TreeWork TW;

    void main()

    {TW.TreeWorkStart();}

    Результаты работы программы.

    Начало работы:

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : |

    Для создания списка выбираем пункт 1:

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 1 |

    | |

    |Input kol-vo of elements: |

    Вводим количество элементов в списке (предположим 4):

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 1 |

    | |

    |Input kol-vo of elements: 4 |

    | |

    |Input digit: |

    Успешное завершение ввода списка:

    | |

    |Input kol-vo of elements: 4 |

    | |

    |Input digit: 1 |

    | |

    |Input digit: 2 |

    | |

    |Input digit: 3 |

    | |

    |Input digit: 4 |

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : |

    После ввода списка попадаем в главное меню где выбираем пункт добавления

    элемента :

    | |

    |Input digit: 1 |

    | |

    |Input digit: 2 |

    | |

    |Input digit: 3 |

    | |

    |Input digit: 4 |

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 2 |

    | |

    |Input kol-vo of elements: |

    Программа просит ввести количечтво элементов которое мы хотим добавит к

    нашему списку. Вводим 1 (для примера):

    | |

    |Input digit: 2 |

    | |

    |Input digit: 3 |

    | |

    |Input digit: 4 |

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 2 |

    | |

    |Input kol-vo of elements: 1 |

    | |

    |Input digit: |

    Далее происходит ввод списка как было описано выше.

    После удачного завершения добавления элемента в список мы вновь попадаем в

    главное меню, где выбираем пункт вывода списка на экран монитора:

    | |

    |1 element: 1234 |

    | |

    |2 element: 2345 |

    | |

    |3 element: 3456 |

    | |

    |4 element: 4567 |

    | |

    |5 element: 2345 |

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : |

    Быстро проскользнув мимо Ваших глаз непонятные данные вы снова попадаете в

    главное меню, где выбираете пункт удаление элемента:

    | |

    |2 element: 2345 |

    | |

    |3 element: 3456 |

    | |

    |4 element: 4567 |

    | |

    |5 element: 2345 |

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 4 |

    | |

    |Input number of element: 5 |

    После чего элемент с введённым номером удален. После удачного завершения

    удаления элемента Вы снова попадаете в главное меню, где выбираете пункт

    сохранение списка:

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 5 |

    | |

    |Input file name: demon13.txt |

    После ввода имени файла данные из списка попадают на диск. И вы снова в

    главном меню, где выбираете удаление списка:

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 5 |

    | |

    |Input file name: demon13.txt |

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 6 |

    После чего все данные в списке безвозвратно умирают и Вы опять у

    главного списка, и выбираете Вы – открыть файл:

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 6 |

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 7 |

    | |

    |Input file name: demon13.txt |

    После чего ваш список оживает и … не надо «и» - лучше продолжим – Вы в

    главном меню и Вы выбираете найти элемент:

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice :8 |

    | |

    | |

    |Input number, you want to find: 2 |

    | |

    |The first element that we fined out: |

    |1234 |

    Вы вводите то что хотели найти и – находите в строчке ХХХХХ. Главное

    меню/Сортировка:

    | |

    |Main Menu: |

    | |

    |1. Make New List. |

    |2. Add Element. |

    |3. Print List. |

    |4. Delete Element. |

    |5. Save List. |

    |6. Erase List. |

    |7. Open File. |

    |8. Find Element. |

    |9. Sort List. |

    |0. Exit. |

    | |

    |Your choice : 9 |

    | |

    |Sub Menu: |

    |1. Sort list by increase. |

    |2. Sort list by decrease. |

    | |

    |Your choice: |

    Ту мы можем сортировать по возрастанию или убыванию (ведь у человека

    всегда должен быть выбор!). После сортировки Главное меню/Выход! Всё

    программа завершилась успешно! А поскольку эти тесты никто не читает, то

    можно сказать что компьютеры в нашем институте сделаны из дуба.


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.