Program Menghitung Hari

/* PROGRAM Selisih_Hari */

/* Menghitung selisih hari dari dua buah tanggal dalam tahun yang sama */

#include <stdio.h>

void main()

{

typedef struct {int dd, mm, yy;} Hari;

Hari H1, H2;

int i, JumlahHari, SelisihHari = 0;

printf(“Ketikkan tanggal pertama (dd-mm-yy): “); scanf(“%d – %d – %d”,&H1.dd, &H1.mm, &H1.yy);

printf(“Ketikkan tanggal kedua (dd-mm-yy): “); scanf(“%d – %d – %d”,&H2.dd, &H2.mm, &H2.yy);

for (i=H1.mm; i<=H2.mm-1; i++)  {

switch (i)  {

case 1: case 3: case 5: case 7: case 8: case 10: case 12: JumlahHari = 31; break;

case 4: case 6: case 9: case 11: JumlahHari = 30; break;

case 2: if ((H1.yy%4 == 0 && H1.yy%100 !=  0) || H1.yy%400 == 0)

JumlahHari = 29;

else JumlahHari = 28;

} SelisihHari = SelisihHari + JumlahHari;

}

SelisihHari = SelisihHari + H2.dd – H1.dd;

printf (“Jumlah selisih hari adalah %d hari\n”, SelisihHari);

}

Catatan: Listing program di atas tidak dapat menghitung selisih hari jika H2.yy != H1.yy. Lihat halaman Pengumuman untuk lebih jelas.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: