#include<iostream.h>
#include<conio.h>
#include<stdio.h>
struct STACK
{
int value[6]; //Memberi nilai pada max stack
int top;
};
STACK tumpuk;
void main()
{
clrscr();
int pilih,baru,i;
//inisialisasi awal
tumpuk.top=-1;
do
{
clrscr();
cout<<"1.Push data"<<endl;
cout<<"2.Pop data"<<endl;
cout<<"3.Tampikan Value"<<endl;
cout<<endl;
cout<<"pilihan : ";
cin>>pilih;
switch(pilih)
{
case 1 :
{
if(tumpuk.top==6-1)
{
cout<<"Stack sudah Penuh";
getch();
}
else
{
cout<<"Push :";
cin>>baru;
tumpuk.top++;
tumpuk.value[tumpuk.top]=baru;
}
break;
}
case 2 :
{
if(tumpuk.top==-1)
{
cout<<"Stack masih Kosong";
getch();
}
else
{
cout<<"Pop = "<<tumpuk.value[tumpuk.top]<<endl;
tumpuk.top--;
getch();
}
break;
}
case 3 :
{
if(tumpuk.top==-1)
{
cout<<"Stack masih kosong "<<endl;
getch();
}
else
{
cout<<"Value = ";
for(i=0;i<=tumpuk.top;i++)
{
cout<<tumpuk.value[i]<<" ";
}
getch();
}
break;
}
default:
{
cout<<"maaf pilihan anda salah, program akan berhenti"<<endl;
}
}
}
while(pilih>=1 && pilih<=3);
getch();
}