Ini dia program yang pernah menjadi tugas
dari dosen praktikum struktur data semester 2 yaitu membuat program
stack (tumpukan) bertipe data string menggunakan bahasa C++.
Apa itu stack? Stack dalam bahsa Indonesia berarti tumpukan. Stack mempunyai prinsip LIFO (Last In, First Out). Jadi data yang terakhir masuk pada stack, akan dikeluarkan pertama kali.
Apa itu stack? Stack dalam bahsa Indonesia berarti tumpukan. Stack mempunyai prinsip LIFO (Last In, First Out). Jadi data yang terakhir masuk pada stack, akan dikeluarkan pertama kali.
Awalnya
saya kesulitan dalam membuat ini karena dari berbagai media yang saya
cari, saya hanya menemukan program stack yang bertipe data integer saja.
Akhirnya dengan rumus pantang menyerah dan juga trial and error, saya
pun bisaaaaaa! Alhamdulillah. \:D/
Pembaca yang budiman boleh mengcopy contoh program ini, tapi jangan lupa cantumkan sumber yaa. :)
#include
typedef struct
{
char data[15][15];
int tail;
int head;
}STACK;
STACK tumpuk;
void main ()
{
int pilihan,i;
tumpuk.head=-1;
do
{
system("cls");
printf ("SELAMAT DATANG DI PROGRAM STACK TIPE STRING");
printf ("www.riritrabbit.blogspot.com");
printf ("1.Push data\n");
printf ("2.Pop data\n");
printf ("3.Print data\n");
printf ("4.Clear data\n");
printf ("5.Keluar\n");
printf ("\npilihan= ");
scanf ("%d",&pilihan);
switch(pilihan)
{
case 1 :
{
if (tumpuk.tail==10-1)
{
printf("Tumpukan penuh");
getch ();
}
else
{
tumpuk.tail++;
printf("Data yang akan ditambah= ");
scanf("%s",&tumpuk.data[tumpuk.tail],10);
//tumpuk.data[tumpuk.tail]=baru;
//tumpuk.tail++;
}
break;
}
case 2 :
{
if (tumpuk.tail==tumpuk.head)
{
printf("Maaf tumpukan kosong");
getch();
}
else
{
printf("Data yang akan dihapus = %s",tumpuk.data[tumpuk.tail],10);
tumpuk.tail--;
getch();
}
break;
}
case 3 :
{
if (tumpuk.tail==-1)
{
printf("Tumpukan kosong");
getch ();
}
else
{
printf("Data= ");
for (i=0;i<=tumpuk.tail;i++)
{
printf("%s ",tumpuk.data[i],10);
}
getch ();
}
break;
}
case 4 :
{
tumpuk.head=tumpuk.tail=-1;
printf("Data sudah terhapus semua...");
getch();
}
break;
case 5 :
break ;
default :
{
printf("Not available choice.");
}
}
}
while (pilihan>=1 && pilihan<=4);
getch ();
}
Semoga bermanfaat! :)
#include
typedef struct
{
char data[15][15];
int tail;
int head;
}STACK;
STACK tumpuk;
void main ()
{
int pilihan,i;
tumpuk.head=-1;
do
{
system("cls");
printf ("SELAMAT DATANG DI PROGRAM STACK TIPE STRING");
printf ("www.riritrabbit.blogspot.com");
printf ("1.Push data\n");
printf ("2.Pop data\n");
printf ("3.Print data\n");
printf ("4.Clear data\n");
printf ("5.Keluar\n");
printf ("\npilihan= ");
scanf ("%d",&pilihan);
switch(pilihan)
{
case 1 :
{
if (tumpuk.tail==10-1)
{
printf("Tumpukan penuh");
getch ();
}
else
{
tumpuk.tail++;
printf("Data yang akan ditambah= ");
scanf("%s",&tumpuk.data[tumpuk.tail],10);
//tumpuk.data[tumpuk.tail]=baru;
//tumpuk.tail++;
}
break;
}
case 2 :
{
if (tumpuk.tail==tumpuk.head)
{
printf("Maaf tumpukan kosong");
getch();
}
else
{
printf("Data yang akan dihapus = %s",tumpuk.data[tumpuk.tail],10);
tumpuk.tail--;
getch();
}
break;
}
case 3 :
{
if (tumpuk.tail==-1)
{
printf("Tumpukan kosong");
getch ();
}
else
{
printf("Data= ");
for (i=0;i<=tumpuk.tail;i++)
{
printf("%s ",tumpuk.data[i],10);
}
getch ();
}
break;
}
case 4 :
{
tumpuk.head=tumpuk.tail=-1;
printf("Data sudah terhapus semua...");
getch();
}
break;
case 5 :
break ;
default :
{
printf("Not available choice.");
}
}
}
while (pilihan>=1 && pilihan<=4);
getch ();
}
Semoga bermanfaat! :)
Tidak ada komentar:
Posting Komentar
Pembaca yang budiman.
Silakan tinggalkan komentar.
We'll be glad to respond your comment(s). ^_^