Struktur Data Pertemuan 6 LINEAR QUEUE
Soal
1. Buatlah suatu program Animasi Antrian dengan 4 buah
pilihan : INSERT,DELETE, CETAK ANTRIAN, QUIT.
Jika dipilih INSERT : program akan meminta user untuk
menginput sebuah karakter yang akan dimasukan kedalam antrian
Jika dipilih DELETE : maka karakter pertama masuk akan
dikeluarkan dari antrian
Jika dipilih CETAK ANTRIAN : komputer menampilkan karakter
yang ada pada antrian
Jika dipilih QUIT : program keluar
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
using namespace std;
int main() {
int queue[10], i,
head=-1, tail=-1, enqueue, pil, urut=0, tmp;
do {
system("pause");
system("cls");
printf("1. INSERT \n");
printf("2. DELETE \n");
printf("3. CETAK ANTRIAN \n");
printf("4. QUIT \n");
printf("Silahkan masukkan pilihan anda : \n");
scanf("%d", &pil);
printf("\n");
if(pil==1)
{if(tail==9) {printf("Antrian Penuh ");}
else if(tail==-1) {head++;tail++;
printf("Masukkan nilai : \n");
scanf("%d", &enqueue);
queue[tail]=enqueue;
urut++;
printf("Nomor urut : %d \n", urut);}
else {tail++;
printf("Masukkan nilai :
\n");
scanf("%d", &enqueue);
queue[tail]=enqueue;
urut++;
printf("Nomor urut : %d \n", urut);
printf("Anda harus menunggu %d antrian lagi \n", tail);}}
else
if(pil==2) {if(tail==-1) {printf("Antrian kosong");}
else {printf("Data dengan nilai %d sudah dilayani \n",
queue[head]);
tmp=queue[head];
for(i=head;i<=tail;i++) {queue[i]=queue[i+1];}
queue[tail]=tmp;
urut++;
printf("Data dengan nilai %d masuk antrian \n", queue[tail],
urut);
if(tail==0)
{printf("Yang bersangkutan langsung dilayani");}
else
{printf("Yang bersangkutan harus menunggu %d antrian lagi", tail);}}}
else
if(pil==3) {if(tail==-1) {printf("Antrian kosong \n");}
else {for(i=head;i<=tail;i++) {printf("Antrian ke-%d : %d
\n", i+1, queue[i]);}
printf("\n");}}
else
if(pil==4) {printf("Anda telah selesai menggunakan program Queue Circular
\n");}
else
{printf("Pilihan yang anda masukkan tidak valid \n");}
}
while(pil!=4);
getch();
}
Tidak ada komentar:
Posting Komentar