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

Postingan populer dari blog ini

Definisi, Jenis dan Layanan OTT (Over The Top)

NETWORK LAYER