Anda Pengunjung Ke :

Sabtu, 01 Oktober 2011

Program Animasi Stack C++

Satu lagi program yang saya temukan terbengkalai di laptop, yaitu program animasi stack dalam pemrograman C++. Tidak banyak yang bisa saya jabarkan, tapi disini saya ingin berbagi source code dari program animasi stack yang terbengkalai dilaptop saya ini. Lebih baik berbagi daripada didiamkan sama sekali.

Source code dari program animasi stack dalam C++ bisa kalian lihat dibawah ini.




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


Semoga membantu. ^_^

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More