-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueue.h
More file actions
61 lines (55 loc) · 1.66 KB
/
queue.h
File metadata and controls
61 lines (55 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef QUEUE_H
#define QUEUE_H
#include <stdio.h>
#include "boolean.h"
#include "list.h"
#include "time.h"
#include <string.h>
#include <stdlib.h>
#define InfoHead(Q) (Q).HEAD->info
#define InfoTail(Q) (Q).TAIL->info
#define Info(P) (P)->info
#define Next(P) (P)->next
#define HEAD(Q) (Q).HEAD
#define TAIL(Q) (Q).TAIL
typedef struct{
char nama[25]; // Nama Hewan
TIME waktuDatang; // Waktu Kedatangan
int waktuPelayanan; // lama waktu hewan di proses
int waktuTunggu; // Lama waktu tunggu jika masih ada antrian sebelumnya
TIME waktuMulai; // waktu dimulai nya hewan di proses
TIME waktuAkhir; // waktu selesai hewan di proses
int nilaiPrioritas; // nilai prioritas berdasarkan jumlah dan jenis penyakit yang dipilih
List listPenyakit; // list penyakit yang di derita hean
}infoPasien;
typedef struct NodeQueue *addrQ;
typedef struct NodeQueue{
infoPasien info;
addrQ next;
}NodeQueue;
typedef struct{
addrQ HEAD;
addrQ TAIL;
}Queue;
void CreateQueue (Queue *Q);
addrQ Alokasi (infoPasien X);
void Dealokasi (addrQ P);
boolean IsQueueEmpty(Queue Q);
void DelQueue (Queue *Q);
void AddQue (Queue *Q, infoPasien X);
void LihatDaftarAntrian(Queue Q);
void SortByValuePriority(Queue Q);
char *kategoriPenyakit(int Penyakit);
int HitungNilaiPrioritas(int Ringan, int Sedang, int Berat);
int CekWaktuPelayanan(int Penyakit);
int HitungWaktuPelayanan(int Ringan, int Sedang, int Berat);
void HitungWaktuMulaiAkhirTunggu(Queue *Q);
void Registrasi (Queue *Q);
void PrintDaftarPenyakit();
void ProsesAntrian(Queue *Q);
void LihatProses(Queue Q);
boolean IsPasienPertama(Queue Q);
boolean IsTimeArriveHigherThanBefore (TIME input, Queue Q);
void WriteData (Queue Q);
void ReadData ();
#endif