-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtanggal.c
51 lines (47 loc) · 1.08 KB
/
tanggal.c
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
/* ADT TANGGAL */
#include "tanggal.h"
#include "boolean.h"
#include <stdio.h>
/*** KONSTRUKTOR ***/
TANGGAL MakeTANGGAL (int h, int b, int t)
// Membentuk TANGGAL dari tanggal h, bulan b, dan tahun t.
// Prekondisi : h, b, t dapat membentuk TANGGAL yang valid.
{
/* KAMUS LOKAL */
TANGGAL T;
/* ALGORITMA */
T.DD=h;
T.MM=b;
T.YY=t;
return(T);
}
/*** FUNGSI LAIN ***/
boolean IsTanggalEqual (TANGGAL T1, TANGGAL T2)
// Menghasilkan true jika T1 = T2
{
return((Hari(T1)==Hari(T2))&&(Bulan(T1)==Bulan(T2))&&(Tahun(T1)==Tahun(T2)));
}
TANGGAL TanggalEarly (TANGGAL T1, TANGGAL T2)
// Menghasilkan tanggal yang lebih dulu di antara T1 dan T2
// Prekondisi : T1 != T2
{
if (Tahun(T1)<Tahun(T2))
return (T1);
else if (Tahun(T1)>Tahun(T2))
return (T2);
else
if (Bulan(T1)<Bulan(T2))
return (T1);
else if (Bulan(T1)>Bulan(T2))
return (T2);
else
if (Hari(T1)<Hari(T2))
return (T1);
else
return (T2);
}
void PrintTanggal (TANGGAL T)
// Menampilkan tanggal pada layar dengan format DD/MM/YYYY
{
printf("%02i/%02i/%d",Hari(T),Bulan(T),Tahun(T));
}