Laman

Senin, 09 Februari 2015

POST TEST QUEUE

Nah kali ini saya akan membagi post test saya dengan judul queue pada struktur data
contoh tampilan seperti beriku


screenshoot 
nah ini script lengkapnya:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAX 10

using namespace std;
typedef struct
{
int data[MAX];
int head;
int tail;
} Queue;
Queue antrian;

        void Create()
        {
        antrian.head=antrian.tail=-1;
        }

int IsEmpty()
{
if(antrian.tail==-1)
return 1;
else
return 0;
}

            int IsFull()
            {
            if(antrian.tail==MAX-1) return 1;
            else return 0;
            }

void Enqueue(int data)
{
if(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<"Data "<<antrian.data[antrian.tail]<<" Masuk!!";
}

else if(IsFull()==0)
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<"Data "<<antrian.data[antrian.tail]<<" Masuk!!";
}

else if (IsFull() == 1)
{
cout<<"Maaf, penuh"<<endl;
cout<<data<<" Data tidak masuk";
}
}

void Dequeue()
{
int i;
int e = antrian.data[antrian.head];
if (antrian.tail == -1)
{
cout<<"Data Kosong"<<endl;
}
else
{
for(i=antrian.head;i<=antrian.tail-1;i++)
{
antrian.data[i] = antrian.data[i+1];
}
antrian.tail--;
cout<<"Data yang Keluar lebih dulu = "<<e<<endl;
}
}

void Clear()
{
antrian.head=antrian.tail=-1;
cout<<"Data dihapus"<<endl;

}
void Tampil()
{
if(IsEmpty()==0)
{
cout<<"Data Dalam Antrian"<<endl;
cout<<"==========================="<<endl;
cout<<endl;
for(int i=antrian.head;i<=antrian.tail;i++)
{
cout<<"| "<<antrian.data[i]<<" |";
}
}
else cout<<"Data Kosong";
}

 main()
{
int pil;
int data;
Create();
do
{
system("cls");
cout<<"Queue data berupa INT"<<endl;
cout<<"=================================="<<endl;
cout<<endl;

cout<<"1. Masukkan data"<<endl;
cout<<"2. Hapus data"<<endl;
cout<<"3. Cetak"<<endl;
cout<<"4. Hapus semua"<<endl;
cout<<"5. Keluar"<<endl;
cout<<"Pilihan Anda= "; cin>>pil;
switch(pil)
{
case 1:
{
cout<<endl;
cout<<"Data = "; cin>>data;
Enqueue(data);
break;
}
case 2:
{
cout<<endl;
Dequeue();
break;
}
case 3:
{
cout<<endl;
Tampil();
break;
}
case 4:
{
cout<<endl;
Clear();
break;
}
}
getch();
} while(pil!=5);
}

semoga bermanfaat untuk sourcodenya silakan di coba