Wednesday, June 5, 2013

Program Stack

Source Code :

#include <iostream>
#include <cstdlib>
#define max 10
using namespace std;
struct Tumpukan
{
int atas;
int data[max];
}T;
void awal()
{
T.atas=-1;
}
int kosong()
{
if(T.atas==-1)
return 1;
else
return 0;
}
int penuh ()
{
if (T.atas==max-1)
return 1;
else
return 0;
}
void input(int data)
{
if(kosong()==1)
{
T.atas++;
T.data[T.atas]=data;
cout<<"Data "<<T.data[T.atas]<<" masuk ke stack";
}

else if(penuh()==0)
{
T.atas++;
T.data[T.atas]=data;
cout<<"Data "<<T.data[T.atas]<<" masuk ke stack";
}
else
cout<<"Tumpukan penuh";
}
void hapus()
{
if(kosong()==0)
{
cout<<"Data teratas sudah terambil";
T.atas--;
}
else
cout<<"Data kosong";
}
void tampil()
{
if(kosong()==0)
{
for(int i=T.atas;i>=0;i--)
{
cout<<"\nTumpukan ke"<<i<<"="<<T.data[i];
}
}
else
cout<<"Tumpukan kosong";
}

void bersih()
{
T.atas = -1;
cout<<"Tumpukan kosong!";
}
void jumlahkan()
{
int jumlah = 0;
for(int i=T.atas;i>=0;i--)
{
jumlah = jumlah + T.data[i];
}
cout<<"Jumlah total : "<<jumlah;
}

int main ()
{
int pil, data;
awal();
do
{
cout<<"1. Input\n2. Hapus\n3. Tampil\n4. ";
cout<<"Bersihkan\n5. Jumlahkan\n6. Keluar\nMasukkan pilihan: ";
cin>>pil;
switch(pil)
{
case 1:
cout<<"Masukkan data = ";cin>>data;
input(data);
break;

case 2:
hapus();
break;

case 3:
tampil();
break;

case 4:
bersih();
break;

case 5:
jumlahkan();
break;

case 6:
cout<<"Terimakasih";
}

cout<<endl;
cout<<endl;
}
while(pil!=6);

}

Outputnya :


0 comments:

Post a Comment