/ Published in: C++
Z4_SP_glavniprogram
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <iostream> #include <cstring> #include <cstdlib> #include "bstablo_pokazivac.h" //#include "bstablo_polje.h" using namespace std; int main(){ bool alocirano = false; int izbor,izbor2; int poc, cvor; int oznaka; drvo *tr; drvo *lijevi, *desni; do{ system("cls"); cout << "1. Binarno stablo. " << endl; cout << "9. Izlaz iz programa." << endl; cout << "Odabir: " ; cin>> izbor; if(izbor==1){ cout << "Unesite naziv (labelu) korijena: " ; cin >> poc; tr = InitB(poc,tr); do{ cout << " BINARNO STABLO: " << endl; cout << "1. Ispis korijena. " << endl; cout << "2. Stvaranje lijevog djeteta. " << endl; cout << "3. Stvaranje desnog djeteta. " << endl; cout << "4. Ispis lijevog djeteta. " << endl; cout << "5. Ispis desnog djeteta. " << endl; cout << "6. Zamjena oznake Ävora. " << endl; cout << "7. Ispis roditelja Ävora. " << endl; cout << "8. Brisanje Ävora. " << endl; cout << "9. Povratak u gl.izbornik." << endl; cout << "Odabir: "; cin>>izbor2; switch(izbor2){ case 1: cout << "Korijen stabla ima oznaku: " << LabelB(RootB(tr),tr)<< endl; break; case 2: cout << "Oznaka cvora kojem stvarate lijevo dijete: "; cin >> oznaka; cout << "Oznaka novog cvora: "; cin >> cvor; CreateLeftB(cvor,NodeB(oznaka,tr),tr); break; case 3: cout << "Oznaka cvora kojem stvarate desno dijete: "; cin >> oznaka; cout << "Oznaka novog cvora: "; cin >> cvor; CreateRightB(cvor,NodeB(oznaka,tr),tr); break; case 4: cout<<"Oznaka cvora kojemu trazite lijevo dijete: "; cin>>oznaka; cout<<"Lijevo dijete ima oznaku: "<<LabelB(LeftChildB(NodeB(oznaka,tr),tr),tr)<<endl; break; case 5: cout<<"Oznaka cvora kojemu trazite desno dijete: "; cin>>oznaka; cout<<"Desno dijete ima oznaku: "<<LabelB(RightChildB(NodeB(oznaka,tr),tr),tr)<<endl; break; case 6: cout<<"Cvor ciju oznaku zelite promijeniti: "; cin>>oznaka; cout<<"Nova oznaka: "<<endl; cin>>cvor; ChangeLabelB(cvor,NodeB(oznaka,tr),tr); cout<<endl; break; case 7: cout<<"Oznaka cvora kojemu trazite roditelja: "; cin>>oznaka; cout<<"Roditelj ima oznaku: "<<LabelB(ParentB(NodeB(oznaka,tr),tr),tr)<<endl; break; case 8: cout<<"Oznaka cvora kojeg zelite obrisati? "; cin>>oznaka; DeleteB(NodeB(oznaka,tr),tr); cout<<endl; break; } }while(izbor2 !=9); } }while(izbor !=9); return 0; }