Advertisement
adesuryadi_

UAS2018

Jan 15th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. #include <constrea.h>
  2. #include <stdio.h>
  3. #include <cstring.h>
  4.  
  5. #define MAX_STACK 10
  6.  
  7. struct stack
  8. {
  9. int top;
  10. int data[MAX_STACK];
  11. };
  12.  
  13. struct stack tumpuk;
  14.  
  15. void inisialisasi()
  16. {
  17. tumpuk.top=0;
  18. }
  19.  
  20. int IsFull()
  21. {
  22. if(tumpuk.top == MAX_STACK)
  23. return 1;
  24. else
  25. return 0;
  26. }
  27.  
  28. int IsEmpty()
  29. {
  30. if(tumpuk.top == 0)
  31. return 1;
  32. else
  33. return 0;
  34. }
  35.  
  36. void push(int d)
  37. {
  38. if(IsEmpty() == 0)
  39. {
  40. tumpuk.top++;
  41. tumpuk.data[tumpuk.top] = d;
  42. cout<<"Data "<<d<<" masuk ke tumpukan";
  43. }
  44. else
  45. if(IsFull() == 0)
  46. {
  47. tumpuk.top++;
  48. tumpuk.data[tumpuk.top] = d;
  49. cout<<"Data "<<d<<" masuk ke tumpukan";
  50. }
  51. else
  52. cout<<"Tumpukan penuh";
  53. }
  54.  
  55. void pop()
  56. {
  57. if(IsEmpty() == 0 )
  58. {
  59. cout<<"Data yang terambil : "<<tumpuk.data[tumpuk.top]<<endl;
  60. tumpuk.top--;
  61. }
  62. else
  63. cout<<"Data kosong !";
  64. }
  65.  
  66. void clear()
  67. {
  68. tumpuk.top = 0;
  69. cout<<"Tumpukkan sudah kosong !";
  70. }
  71.  
  72. void TampilStack()
  73. {
  74. if (IsEmpty() == 0 )
  75. {
  76. for(int i=tumpuk.top;i>0;i--)
  77. {
  78. cout<<"\nData ke "<<i<<" : "<<tumpuk.data[i];
  79. }
  80. }
  81. else
  82. cout<<"Tumpukkan kosong ! ";
  83. }
  84.  
  85. main()
  86. {
  87. int pil,dt;
  88. inisialisasi();
  89.  
  90. do
  91. {
  92. clrscr();
  93. cout<<"1. PUSH\n";
  94. cout<<"2. POP\n";
  95. cout<<"3. PRINT\n";
  96. cout<<"4. CLEAR\n";
  97. cout<<"5. EXIT \n";
  98.  
  99. cout<<"\nPilihan : ";
  100. cin>>pil;
  101. switch(pil)
  102. {
  103. case 1 : cout<<"Masukkan data : ";
  104. cin>>dt;
  105. push(dt);
  106. break;
  107.  
  108. case 2 : pop();
  109. break;
  110.  
  111. case 3 : TampilStack();
  112. break;
  113.  
  114. case 4 : clear();
  115. break;
  116.  
  117. case 5 : cout<<"Terima Kasih Tekan Enter untuk Exit";
  118. getch();
  119. exit(0);
  120. break;
  121. }
  122. getch();
  123. }
  124. while(pil != 5);
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement