Posted By

mmojsino on 01/12/14


Tagged


Versions (?)

Z4_glavni_program


 / Published in: C++
 

Z4SPglavniprogram

  1. #include <iostream>
  2. #include <cstring>
  3. #include <cstdlib>
  4. #include "bstablo_pokazivac.h"
  5. //#include "bstablo_polje.h"
  6. using namespace std;
  7.  
  8. int main(){
  9. bool alocirano = false;
  10. int izbor,izbor2;
  11. int poc, cvor;
  12. int oznaka;
  13. drvo *tr;
  14. drvo *lijevi, *desni;
  15. do{
  16. system("cls");
  17. cout << "1. Binarno stablo. " << endl;
  18. cout << "9. Izlaz iz programa." << endl;
  19. cout << "Odabir: " ;
  20. cin>> izbor;
  21. if(izbor==1){
  22. cout << "Unesite naziv (labelu) korijena: " ;
  23. cin >> poc;
  24. tr = InitB(poc,tr);
  25. do{
  26. cout << " BINARNO STABLO: " << endl;
  27. cout << "1. Ispis korijena. " << endl;
  28. cout << "2. Stvaranje lijevog djeteta. " << endl;
  29. cout << "3. Stvaranje desnog djeteta. " << endl;
  30. cout << "4. Ispis lijevog djeteta. " << endl;
  31. cout << "5. Ispis desnog djeteta. " << endl;
  32. cout << "6. Zamjena oznake čvora. " << endl;
  33. cout << "7. Ispis roditelja čvora. " << endl;
  34. cout << "8. Brisanje čvora. " << endl;
  35. cout << "9. Povratak u gl.izbornik." << endl;
  36. cout << "Odabir: ";
  37. cin>>izbor2;
  38. switch(izbor2){
  39. case 1:
  40. cout << "Korijen stabla ima oznaku: " << LabelB(RootB(tr),tr)<< endl;
  41. break;
  42. case 2:
  43. cout << "Oznaka cvora kojem stvarate lijevo dijete: ";
  44. cin >> oznaka;
  45. cout << "Oznaka novog cvora: ";
  46. cin >> cvor;
  47. CreateLeftB(cvor,NodeB(oznaka,tr),tr);
  48. break;
  49. case 3:
  50. cout << "Oznaka cvora kojem stvarate desno dijete: ";
  51. cin >> oznaka;
  52. cout << "Oznaka novog cvora: ";
  53. cin >> cvor;
  54. CreateRightB(cvor,NodeB(oznaka,tr),tr);
  55. break;
  56. case 4:
  57. cout<<"Oznaka cvora kojemu trazite lijevo dijete: ";
  58. cin>>oznaka;
  59. cout<<"Lijevo dijete ima oznaku: "<<LabelB(LeftChildB(NodeB(oznaka,tr),tr),tr)<<endl;
  60. break;
  61. case 5:
  62. cout<<"Oznaka cvora kojemu trazite desno dijete: ";
  63. cin>>oznaka;
  64. cout<<"Desno dijete ima oznaku: "<<LabelB(RightChildB(NodeB(oznaka,tr),tr),tr)<<endl;
  65. break;
  66. case 6:
  67. cout<<"Cvor ciju oznaku zelite promijeniti: ";
  68. cin>>oznaka;
  69. cout<<"Nova oznaka: "<<endl;
  70. cin>>cvor;
  71. ChangeLabelB(cvor,NodeB(oznaka,tr),tr);
  72. cout<<endl;
  73. break;
  74. case 7:
  75. cout<<"Oznaka cvora kojemu trazite roditelja: ";
  76. cin>>oznaka;
  77. cout<<"Roditelj ima oznaku: "<<LabelB(ParentB(NodeB(oznaka,tr),tr),tr)<<endl;
  78. break;
  79. case 8:
  80. cout<<"Oznaka cvora kojeg zelite obrisati? ";
  81. cin>>oznaka;
  82. DeleteB(NodeB(oznaka,tr),tr);
  83. cout<<endl;
  84. break;
  85. }
  86. }while(izbor2 !=9);
  87. }
  88. }while(izbor !=9);
  89. return 0;
  90. }

Report this snippet  

You need to login to post a comment.