Vous êtes sur la page 1sur 3

PROGRAM Selisih_Hari

type tanggal: record <dd : integer

mm : integer yy > d1,d2 : tanggal i,hari,hari1,selisih,selisih1,total,jumlah 0,jumlah1 0,tahun,hari2 0 read(d1.dd,d1.mm,d1.yy) read(d2.dd,d2.mm,d2.yy) if d2.yy > d1.yy then for i 12 to d1.mm do case(i) 1,3,5,7,8,10,12 : hari 31 4,6,9,11 : hari 30 2: if d1.yy mod 4 = 0 and d1.yy mod 100 0 or d1.yy mod 400 = 0 then hari 29 else hari 28 endif endcase jumlah jumlah+hari i i-1 endfor selisih jumlah+d1.dd for i 1 to d2.mm-1 do : integer : integer

case(i) 1,3,5,7,8,10,12 : hari1 31 4,6,9,11 : hari1 30 2: if d2.yy mod 4 = 0 and d2.yy mod 100 0 or d2.yy mod 400 = 0 hari1 29 else hari1 28 endif endcase jumlah1 jumlah1+hari1 i i+1 endfor selisih1=jumlah1+d2.dd for i s1.yy+1 to d2.yy do if i mod 4 = 0 and i mod 100 0 or i mod 400 = 0 then tahun 366 else tahun 365 endif hari2 hari2+tahun i i+1 endfor total selisih+selisih1+hari2 write(total) else if d1.yy = d2.yy and d2.mm > d1.mm then for i d1.mm to d2.mm-1 do case(i)

1,3,5,7,8,10,12 : hari 31 4,6,9,11 : hari 30 2: if d1.yy mod 4 = 0 and d1.yy mod 100 0 or d1.yy mod 400 = 0 then hari 29 else hari 28 endif endcase jumlah jumlah+hari i i+1 endfor selisih (jumlah+d2.dd)-d1.dd

write(selisih) else if d1.yy = d2.yy and d1.mm = d2.mm and d2.dd > d1.dd then total d2.dd-d1.dd write(total) else write('Tanggal kedua harus lebih besar dari tanggal pertama')

endif endif endif

Vous aimerez peut-être aussi