CODING PROGRAM ANIMASI STACK
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
int top,i;
char key,temp,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(char temp)
{
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(char e)
{
top=top+1;
stack[top]=e;
pushanim();
}
void pop(char e)
{
if(top !=0)
{
e=stack[top]; popanim(e);
top=top-1;
}
else
{
gotoxy(1,7); cout<<"stack telah kosong"<<endl;
gotoxy(1,7);
}
}
void main()
{
clrscr();
cout<<"Animasi Stack"<<endl;
cout<<"1.Push"<<endl;
cout<<"2.Pop"<<endl;
cout<<"3.quit"<<endl;
//cout<<"pilih [1/2/3] ="<<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<<"masukkan pilihan anda[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(temp);
gotoxy(1,7); cout<<" ";
}
else
{
gotoxy(1,7); cout<<"stack penuh";
getch();
gotoxy(1,7); cout<<" ";
}
}
else if(key=='2')
pop(temp);
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<<"";
}
Makasi kk
ReplyDelete