Disusun Oleh :
Selsya Survianda Yu’ant Tinaya (3121510417)
Dosen Pengampu :
Dr Arna Fariza S.Kom., M.Kom.
Listing :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX 10
typedef struct
{
ItemType item[MAX];
int front;
int rear;
int count;
} Queue;
int main()
{
Queue parkir;
Queue tampung;
int i,nomer,menu;
char lagi='y';
Inisialisasi(&parkir);
do{
printf("\nMENU:\n");
printf("\n1.Memasukan Mobil\n");
printf("2.Mengeluarkan Mobil\n");
printf("3.Exit\n");
printf("Pilih Operasi:");scanf("%d",&menu);
switch(menu){
//memasukan
case 1:
printf("Masukan Nomerparkir:");scanf("%d",&nomer);
Enqueue(&parkir,nomer);
break;
//mengeluarkan
case 2:
fflush(stdin);
printf("\nMobil mana yang ingin di
keluarkan:");scanf("%d",&nomer);
Inisialisasi(&tampung);
while(!Kosong(&parkir)){
if(parkir.item[parkir.front]!=nomer)
Enqueue(&tampung,Dequeue(&parkir));
else
Dequeue(&parkir);
}
Inisialisasi(&parkir);
while(!Kosong(&tampung)){
Enqueue(&parkir,Dequeue(&tampung));
}
break;
default:printf("\nTerimakasih telah menggunakan
program");exit(1);
}
printf("\n\nParkiran:\n");
int k=parkir.front;
while(k!=parkir.rear){
printf("Mobil ke %d \n",parkir.item[k]);
k=(k+1)%MAX;
}
}while(menu!=3);
}
Output
Mobil masuk
Mobil keluar
Exit
Analisa :