Pages

Wednesday, May 31, 2017

Program Queue Animasi

Pada kesempatan kali ini saya akan menshare sebuah program pada C++ yaitu program Queue Animasi, programnya bisa dilihat dibawah, semmoga postingan ini bisa membantu dan juga bermanfaat.

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

char pil;
int jml;
void delay();

struct node
{
 char kar;
 node *next;
};
 node *tail;
 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 Pillihan 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<10;p++)
 cout<<"";
}

Hasil dari programnya seperti dibawah ini:

No comments:

Post a Comment