Sabtu, 01 Juni 2013

STRUCT

assalamualaikum.wr.wb..
 ini juga merupakan lanjutan dari program yang telah saya share sebelum ini.

#include <iostream>
#include <cstdlib>
#define max 10
using namespace std;
struct Tumpukan //deklarasi struct dengan nama tumpukan
{
 int atas;
 int data[max];
 } T; //peng – alias – an nama struct
void awal()
{
 T.atas=0;
 }
 //pemberian nilai awal struct
int kosong()
 {
 if(T.atas==0)
 return 1;
 else
 return 0;
 }
int penuh()
{
 if(T.atas == max)
 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=0;
 cout<<"Tumpukan kosong!";
 }
int main()
{
 int pil,data;
 awal();
//fungsi yang digunakan untuk menampilkan data yang ada di dalam stack
//fungsi yang digunakan untuk menyatakan sebuah stack dalam keadaan penuh
//fungsi yang digunakan untuk menyatakan sebuah stack dalam keadaan kosong

do
{
 cout<<"1. Input\n2. Hapus\n3. Tampil\n4. ";
 cout<<"Bersihkan\n5. 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: cout<<"Terimakasih";
 }
 char();
 cout<<endl;
 cout<<endl;
 }
 while(pil!=5);
 }






Tidak ada komentar:

Posting Komentar