Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <constrea.h>
- #include <stdio.h>
- #include <cstring.h>
- #define MAX_STACK 10
- struct stack
- {
- int top;
- int data[MAX_STACK];
- };
- struct stack tumpuk;
- void inisialisasi()
- {
- tumpuk.top=0;
- }
- int IsFull()
- {
- if(tumpuk.top == MAX_STACK)
- return 1;
- else
- return 0;
- }
- int IsEmpty()
- {
- if(tumpuk.top == 0)
- return 1;
- else
- return 0;
- }
- void push(int d)
- {
- if(IsEmpty() == 0)
- {
- tumpuk.top++;
- tumpuk.data[tumpuk.top] = d;
- cout<<"Data "<<d<<" masuk ke tumpukan";
- }
- else
- if(IsFull() == 0)
- {
- tumpuk.top++;
- tumpuk.data[tumpuk.top] = d;
- cout<<"Data "<<d<<" masuk ke tumpukan";
- }
- else
- cout<<"Tumpukan penuh";
- }
- void pop()
- {
- if(IsEmpty() == 0 )
- {
- cout<<"Data yang terambil : "<<tumpuk.data[tumpuk.top]<<endl;
- tumpuk.top--;
- }
- else
- cout<<"Data kosong !";
- }
- void clear()
- {
- tumpuk.top = 0;
- cout<<"Tumpukkan sudah kosong !";
- }
- void TampilStack()
- {
- if (IsEmpty() == 0 )
- {
- for(int i=tumpuk.top;i>0;i--)
- {
- cout<<"\nData ke "<<i<<" : "<<tumpuk.data[i];
- }
- }
- else
- cout<<"Tumpukkan kosong ! ";
- }
- main()
- {
- int pil,dt;
- inisialisasi();
- do
- {
- clrscr();
- cout<<"1. PUSH\n";
- cout<<"2. POP\n";
- cout<<"3. PRINT\n";
- cout<<"4. CLEAR\n";
- cout<<"5. EXIT \n";
- cout<<"\nPilihan : ";
- cin>>pil;
- switch(pil)
- {
- case 1 : cout<<"Masukkan data : ";
- cin>>dt;
- push(dt);
- break;
- case 2 : pop();
- break;
- case 3 : TampilStack();
- break;
- case 4 : clear();
- break;
- case 5 : cout<<"Terima Kasih Tekan Enter untuk Exit";
- getch();
- exit(0);
- break;
- }
- getch();
- }
- while(pil != 5);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement