Selasa, 08 September 2020

Struktur Data Pertemuan 7 Circular Queue

Struktur Data Pertemuan 7 Circular 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