Rabu, 29 Juni 2011

stack

#include<stdio.h>
#include<stdlib.h>
#define stack_max 5

struct STACK
{
int data[stack_max];
int atas;
};
struct STACK tumpuk;
int penuh();
void push(data);
void tampil();
main()
{
int pilih,data,angka;
tumpuk.atas=-1;
do{
printf("MENU OPERASI STACK\n");
printf("==================\n");
printf("1.Push Data\n");
printf("2.Pop Data\n");
printf("3.Print Data\n");
printf("4.keluar program\n");
printf("pilihan anda ?[1-4] : ");scanf ("%d",&pilih);
switch(pilih){
case 1 :printf("masukan data yang ingin di push : ");scanf("%d",&angka);
       push(data);
break;
    case 2 ://pop
    if(tumpuk.atas==-1){
    printf("tumpukan kosong...!\n");}
else {printf("tumpukan yang di pop %d.\n",tumpuk.data[tumpuk.atas]);
tumpuk.atas--;}
       break;
      case 3 :tampil();
       break;
case 4 :printf ("keluar aplikasi.....!\n");
break;
        default:printf ("masukan pilihan dari 1-4 !!!\n");break;
}
}while(pilih>0 && pilih<=4);
return 0;
}
void push(int nilai)
{
if(tumpuk.atas==(stack_max-1))
{
printf("stack penuh....!\n");
}
else{
tumpuk.atas++;
tumpuk.data[tumpuk.atas]=nilai;
}
}
void tampil()
{
int i;
if(tumpuk.atas==-1)
    {
    printf("stack kosong !!\n");
}
else
{
printf("Data : \n");
for (i=tumpuk.atas;i>=0;i--)
{
printf("%d \n",tumpuk.data[i]);
}
}
printf("\n");
}


0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates