Minggu, 23 September 2012

Contoh Program C++ Stack

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#define MAXSTACK 100
typedef int itemType;
typedef struct
{
int item[MAXSTACK];
int jml;
} Stack;
void init(Stack *s)
{
s->jml=0;
}
int kosong(Stack *s)
{
return (s->jml==0);
}
int penuh(Stack *s)
{
return (s->jml==MAXSTACK);
}
void isi(itemType x, Stack *s)
{
if(penuh(s))
printf(“\nMaaf data sudah penuh\n”);
else
{
s->item[s->jml]=x;
++(s->jml);
}
}
void ambil(Stack *s, itemType *x)
{
if(kosong(s))
printf(“\nMaaf data masih kosong\n”);
else
{
–(s->jml);
*x=s->item[s->jml];
s->item[s->jml]=0;
printf(“\nData %i berhasil diambil\n”,*x);
}
}
void tampil(Stack *s)
{
if(kosong(s))
printf(“\nMaaf Data masih kosong\n”);
else
printf(“\n”);
for(int i=s->jml-1;i>=0;i–)
{
printf(“Data: %d\n”,s->item[i]);
}
}
void hapus(Stack *s)
{
s->jml=0;
printf(“\nSemua data berhasil dihapus\n”);
}
void main()
{
int pil;
Stack tumpukan;
itemType data;
init(&tumpukan);
do
{
printf(“\nMENU: \n 1. Isi\n 2. Ambil\n 3. Lihat\n 4. Hapus\n 5. Keluar\n”);
printf(“Masukkan pilihan: “); scanf(“%i”,&pil);
switch(pil)
{
case 1:
printf(“\nMasukkan data: “); scanf(“%i”,&data);;
isi(data,&tumpukan);
break;
case 2:
ambil(&tumpukan,&data);
break;
case 3:
tampil(&tumpukan);
break;
case 4:
hapus(&tumpukan);
break;
}
}while(pil!=5);
getch();
}

1 komentar:

  1. kalau bisa outputnya juga di sertakan yaa
    biar gak bigung
    makasihhh

    BalasHapus