Anda Pengunjung Ke :

Sabtu, 01 Oktober 2011

Program Animasi Queue C++

Baru aja, saya iseng ngubek-ngubek Folder yang ada di laptop. Trus saya nemu ini nih, program animasi Queue C++ yang saya dapatkan waktu masih semester 2. Walau sudah agak lupa dengan C++, karena setelah tamat semester 2 saya bertemu dengan SQL, Java, dan VB. Tapi saya putuskan untuk tetap membagikan source code program ini. Kasian juga kan, daripada didiamkan di laptop tanpa pernah dipakai, mending saya bagi disini. Siapa tahu ada yang membutuhkan referensi untuk membuat tugas dan sebagainya.

Nah, yang ingin melihat source code program animasi dengan Queue, silahkan lihat source codenya dibawah ini:




#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

char pil;
int jml;
void delay();

struct node
{
   char kar;
   node *next;
};
   node *tail;   //ekor
   node *now;
   node *head;
void buatnodebaru()
{
  tail=NULL;
  head=NULL;
}
void push(char ch)
{
 now=new node;
 if(head==NULL)
 {
   now->kar=ch;
   now->next=NULL;
   tail=now;
  head=now;

 }
 else
 {
   now->kar=ch;
   now->next=NULL;
  tail->next = now;
   tail=now;
 }
}

void enqueue()
{
 int i;
 char temp;
 gotoxy(1,6);
 cout<<"   ";
 gotoxy(1,8);
 cout<<" ";
 gotoxy(1,6);
 cout<<"masukkan @ karakter : ";
 cin>>temp;
 gotoxy(1,6);
 cout<<" ";

 push(temp);
   for(i=1;i<= 75-jml*6;i++)
   {
     gotoxy(i+1,20);cout<<" O";
     gotoxy(i,21); cout<<"=("<<now->kar<<")=";
   gotoxy(i+1,22);cout<<"| |";
   delay();
   if(i!=75-jml*6)
   {
   gotoxy(i+1,20);cout<<"  ";
       gotoxy(i,21);cout<<"      ";
       gotoxy(i+1,22);cout<<"   ";
  }

   }
}

void dequeue()
{
 if(head==NULL)
 {
  gotoxy(1,8); cout<<"antrean kosong !";
   delay();

 }
 else
 {
   jml=jml-1;
   char delete_element=head->kar;
   node *temp;
   temp=head;
   head=head->next;
   delete temp;

 for(int i=69;i<=76;i++)
 {
  gotoxy(i+1,20); cout<<" O";
  gotoxy(i,21); cout<<"=("<<delete_element<<")=";
  gotoxy(i+1,22); cout<<"| |";
  delay();
  gotoxy(i+1,20); cout<<"  ";
  gotoxy(i,21); cout<<"      ";
  gotoxy(i+1,22); cout<<"   ";
 }
 int byk=0;

 while(byk!=jml)
 {
   byk=byk+1;
  for(int i=69-byk*6;i<=75-byk*6;i++)
  {
     gotoxy(i+1,20); cout<<" O";
   gotoxy(i,21); cout<<"=("<<head->kar<<")=";
   gotoxy(i+1,22); cout<<"| |";
   delay();
      if(i!=75-byk*6)
      {
       gotoxy(i+1,20); cout<<"  ";
   gotoxy(i,21); cout<<"      ";
   gotoxy(i+1,22); cout<<"   ";
      }
  }
 }
 }
}

void input()
{
 gotoxy(1,1);cout<<"1.Enqueue";
 gotoxy(1,2);cout<<"2.Dequeue";
 gotoxy(1,3);cout<<"3.Exit";
 do
 {
   gotoxy(1,4);cout<<"masukkan pilihan anda[1/2/3] : ";
   gotoxy(32,4);cin>>pil;
   gotoxy(32,4);cout<<"  ";
   switch(pil)
   {
   case '1':
   {
     if(jml<10)
     {
       jml=jml+1;
       enqueue();
     }
     else
     {
      gotoxy(1,8); cout<<"antrean penuh !";
      delay();
      gotoxy(1,8); cout<<" ";
     }
     break;
    }
   case '2':
   {
     dequeue();
    break;
   }
   case '3':
   {
      exit(1);
   break;
   }
  }
 }while(1);
}

void main()
{
  buatnodebaru();
  jml=0;
  clrscr();
  input();
  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<<"";
}


Jika ada kebingungan, silahkan tanyakan pada dosen kalian. Atau kakak kelas yang mahir C++ ^_^

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More