WHAT'S NEW?
Loading...

Program Stack PUSH / POP dengan C++


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.
 
 
 Print Screen :
 
 
 
================= Berikut Source Code nya ================


#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;
}
}

0 comments:

Post a Comment