Selasa, 10 April 2012

contoh Program Animasi Stack dalam 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. ^_^

Tidak ada komentar:

Posting Komentar