-->

Program Memberikan Peringatan Apabila Stack Penuh - Stack C/C++


Studi Kasus Post Test 8.1 (Struktur Data - Modul 8)

Buatlah program yang dapat memberikan peringatan bahwa stack penuh harus ada yang dikeluarkan!


#include <iostream>
#include <conio.h>
#define max 10
using namespace std;

int pil, data;

struct tumpukan  //struktur tumpukan
{
 int atas;  
 int data[max]; 
}T;

void awal()  //awal untuk menentukan nilai awal 
{
 T.atas =- 1;
}

int kosong()  //kosong untuk melanjutkan pengisian tumpukan
{
 if (T.atas == -1)
 return 1;
 else
  return 0;
}

int penuh()  //penuh untuk memberhentikan tumpukan
{
 if (T.atas == max-1)
 return 1;
 else 
  return 0;
}

void input ()  //input untuk memasukan data
{
 if (penuh())   //manmpilkan apabila stack penuh
 {
  cout << "\nTumpukan penuh harus ada yang dikeluarkan"<<endl;
 }
 else
  if (kosong () == 1)  //pemilihan jika data masih kosong
  {
   T.atas++;
    cout << "Masukan data = ";  cin >> data;
    T.data [T.atas] = data;
    cout << "Data " << T.data[T.atas] <<" masuk ke stack\n";
  }
  else 
   if (penuh () == 0)  //pemilihan jika data masih penuh
   {
    T.atas++;
     cout << "Masukan data = ";  cin >> data;
     T.data [T.atas] = data;
     cout << "Data " << T.data [T.atas] << " masuk ke stack\n";
   }
}

void hapus()  //hapus untuk menghapus data paling atas
{
 if (kosong() == 0)  //mengambil data paling atas
 {
  cout << "Data teratas sudah terambil\n";
  T.atas--;
 }
 else  //menampilkan jika data kosong
  cout << "Data kosong\n";
}

void tampil()  //parameter menampilkan isi data
{
 if (kosong() == 0)  //pemilihan menampilkan isi data
 {
  for (int i = T.atas; i >= 0; i--)
  {
   cout << "\nTumpukan ke "<< i + 1 << " = " << T.data[i]; 
  }
   
 }
  else  //jika salah maka menampilkan tumpukan kosong
   cout << "Tumpukan kosong\n";
}

void bersih()  //parameter memebersihkan semua data
{
 T.atas =- 1;
 cout << "Tumpukan kosong!\n";
}

main(void)
{
 awal();
 do  //perulangan do - while
 {
  cout << "\n1. Input\n2. Hapus\n3. Tampil\n4. Bersihkan\n5. Keluar\nMasukan pilihan : ";
  cin >> pil;
  
  switch (pil)  //pemilihan perintah
  {
   case 1: 
    input();
   break; 
   
   case 2:
    hapus();
   break;
   
   case 3:
    tampil();
   break;
   
   case 4:
    bersih();
   break;
   
   case 5: 
    cout << "Terimakasih, tekan enter untuk keluar";       
  }
 getch();
 }
 while (pil != 5);
 
}


Hasil running& Keterangan

 

Berlangganan update artikel terbaru via email:

0 Response to "Program Memberikan Peringatan Apabila Stack Penuh - Stack C/C++"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel