Ini sebenarnya tugas untuk teman saya tapi pada akhirnya sayalah yang akhirnya mengerjakannya :D tampilan output pertamanya sebagai berikut
dan diubah tampilannya seperti dibawah
jadi dengan begitu kode sintaxnya seperti dibawah
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
int top,i;
char key,temp[2],e;
char stack[10];
void delay();
void pushanim()
{
for(i=0;i<=17; i++)
{
gotoxy(22+i,7);cout<<" ";
gotoxy(23+i,7); cout<<temp; delay();
}
for(i=1;i<=(14-top);i++)
{
delay();
gotoxy(40,6+i); cout<<" ";
gotoxy(40,7+i); cout<<temp;
}
}
void popanim()
{
for(i=1;i<=(14-top);i++)
{
delay();
gotoxy(40,22-i-top); cout<<" ";
gotoxy(40,21-i-top); cout<<temp;
}
for(i=1;i<=19;i++)
{
delay();
gotoxy(38+i,7); cout<<" ";
gotoxy(39+i,7); cout<<temp; delay();
}
gotoxy(58,7);cout<<" ";
}
void push()
{
top=top+1;
stack[top]=e;
pushanim();
}
void pop()
{
if(top !=0)
{
e=stack[top]; popanim();
top=top-1;
}
else
{
gotoxy(1,7); cout<<"stack telah kosong"<<endl;
gotoxy(1,7);
}
}
void main()
{
clrscr();
cout<<"MENU UTAMA"<<endl;
cout<<"1.Memasukkan huruf(2):"<<endl;
cout<<"2.Mengeluarkan huruf(2):"<<endl;
cout<<"3.Keluar"<<endl;
gotoxy(59,6); cout<<"==";
gotoxy(59,8); cout<<"==";
gotoxy(37,9); cout<<"|| ||";
for(i=1;i<=11;i++)
{
gotoxy(38,10+i);
if(i==11)
cout<<"|_____|";
else
cout<<"| |";
}
top=0;
do
{
input:
gotoxy(1,5);
cout<<"Pilih[1/2/3] : ";
key=getche();
if(int(key)==27 || key=='3')
break;
else if(key=='1')
{
if(top != 10)
{
gotoxy(1,7); cout<<"masukkan suatu huruf : ";
cin>>temp;
push();
gotoxy(1,7); cout<<" ";
}
else
{
gotoxy(1,7); cout<<"stack penuh";
getch();
gotoxy(1,7); cout<<" ";
}
}
else if(key=='2')
pop();
else
goto input;
}while(1);
getch();
}
void delay()
{
for(int y=1;y<100;y++)
for(int x=1;x<100;x++)
for(int p=1;p<100;p++)
cout<<"";
}
untuk melihat program stack tanpa animasi silahkan lihat
disini
»» Baca Selengkapnya...