Contoh Program Stack PUSH / POP dengan C++

Rabu, 10 Oktober 2012

hasil compile program
Mengisi (PUSH) stack sampai PENUH, dan mengambil (POP) isi stack sampai KOSONG. Susun program untuk menyiapkan array satu dimensi yang akan digunakan sebagai stack S sebanyak 10 elemen, bertipe integer. Kemudian inputkan data (nilai numerik) dan simpan (PUSH) ke stack S.
Proses input dan PUSH selesai bila data yang diinput bernilai = 999, atau stack S penuh.
(nilai 999 dipakai sebagai end of data, tidak ikut dipush ke stack S). setelah itu dikeluarkan (POP) isi stack dan cetak ke layar satu persatu sampai stack menjadi KOSONG.



program tersebut bisa dilihat seperti berikut :



#include<stdio.h>
#include<conio.h>
void main()
{
char A[10];
int dpn,blk;
int cek;
int z;
dpn=0;
blk=-1;
stack_haji:
clrscr();
fflush(stdin);
printf("1. Tambah Data STACK\n");
printf("2. Tampilan Data STACK\n");
printf("3. Hapus Isi STACK\n");
printf("4. KELUAR PROGRAM\n");
printf("Pilihan : ");
//cek=getche();
scanf("%d",&cek);
switch (cek)
{
case 1:
    if(blk==9)
    {
            fflush(stdin);
            printf("Data Penuh\n");
            getchar();
            goto stack_haji;
    }
    else
            {
            fflush(stdin);
            blk++;
            printf("\n INPUT DATA :");
            //A[blk]=getche();
            //gets(A[blk]);
            scanf("%s",&A[blk]);
            getchar();
            goto stack_haji;
            }
break;
case 3:
    if(dpn>blk)
    {
            fflush(stdin);
            printf("Data Kosong\n");
            getchar();
            goto stack_haji;
    }
    else
    {
            fflush(stdin);
            for(int v=0;v<=blk;v++)
                    {
                            A[v]=A[v+1];
                    }
                    blk--;
                    printf("Penghapusan Berhasil\n");
                    getchar();
                    goto stack_haji;
    }
break;
case 2:
    if (dpn>blk)
            {
                    fflush(stdin);
                    printf("KOSONG\n");
                    getchar();
                    goto stack_haji;
            }
    else
            {
                    fflush(stdin);
                    printf("\n\nTersimpan %i Stack\n",(blk+1)-dpn);
                    for(z=0; z<=blk; z++)
                    {
                    printf(" %c \n",A[z]);
                    }
                    printf("\n\n");
                    getchar();
                    goto stack_haji;
            }
break;
default :
    {
            clrscr();
            printf("\n SELESAI\n");
    }
break;
}
}

Share this article :

0 komentar:

Speak up your mind

Tell us what you're thinking... !

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. NICE BLOG - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger