Program Stack (Tumpukan)
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
struct//mendeskripsikan type data struct
{
char data [15][15], max [15];//deklarasi dari program
int i,j;
}
tumpukan;
void push ()
{
tumpukan.i++;
cout<<"Masukan Data: ";
cin>>tumpukan.max;
strcpy (tumpukan.data[tumpukan.i],tumpukan.max);
}
void pop ()
{
if (tumpukan.j>0)
{
cout<<"Data Yang Terambil : "<<tumpukan.data[tumpukan.i]<<endl;
tumpukan.j--; tumpukan.i--;
}
else
cout<<"Tak Ada Data Yang Terambil"<<endl;
}
void cetak (int n)
{
if (tumpukan.i>0)
{
for (int a=n; a>=1; a--)
{
cout<<tumpukan.data[a]<<endl;
}
}
else
cout<<"Tak Ada Data Tersimpan"<<endl;
}
void hapus ()
{
tumpukan.j=0; tumpukan.i=0;
}
int main()
{
int n,pilih;
stack:
cout<<"\n*************************"<<endl;
cout<<"Komang Devi Tripika Dewi"<<endl;
cout<<"*************************\n"<<endl;
cout<<"Maksimal Tumpukan Data: "; cin>>n; // untuk mengatur banyak tumpukan
tumpukan.data[n];
tumpukan.i=0;
tumpukan.j=0;
data:
cout<<"\n1. Melakukan Push Ke Stack \n2. Melakukan Pop Ke Stack \n3. Mencetak Hasil Stack \n4. Bersihkan Stack \n5. Keluar \n"; //untuk tampilan menu pilihan
cout<<"\nMasukan Pilihan :"; cin>>pilih; //memasukan pilihan yang akan di proses
cout<<"\n";
if (pilih==1)
{
if (tumpukan.j<n)
{
tumpukan.j++; push();
}
else
{
cout<<"Tumpukan Penuh"<<endl; getch();
}
goto data;
}
else if (pilih==2)
{
pop(); getch(); goto data;
}
else if (pilih==3)
{
cetak (tumpukan.i); getch(); goto data;
}
else if (pilih==4)
{
hapus(); getch(); goto data; \
}
else if (pilih==5)
{
}
else
{
cout<<"input yang anda masukan salah !!!";
getch(); goto stack;
}
}
Komentar
Posting Komentar