/* ADA YANG MAU SILAHKAN COPAS AJA */
/* Menentukan selisih berapa hari antara 2 tanggal */
/* facebook/Triyono Siak Cyty */
/* gratis = tergugah.blogspot.com */
/* Teknik Elektro UIN Prodi Telekomunikasi*/
/* PROGRAM Selisih_hari */
#include <stdio.h>
void Konversi(long int selisih);
main()
{
/* DEKLARASI */
typedef struct {int yy, mm, dd;} hari;
hari T1, T2;
int i;
long int selisih_hari;
/* ALGORITMA */
printf("Ketikkan hari pertama (dd/mm/yy): "); scanf("%d / %d / %d",&T1.dd, &T1.mm, &T1.yy);
printf("Ketikkan hari kedua (dd/mm/yy): "); scanf("%d / %d / %d",&T2.dd, &T2.mm, &T2.yy);
selisih_hari = 0;
if (T1.yy < T2.yy)
{
selisih_hari = (30 - T1.dd);
for (i=T1.mm-1; i<=30; i++)
selisih_hari = selisih_hari + 30;
for (i=1; i<=T2.mm-2; i++)
selisih_hari = selisih_hari + 12;
for (i=T1.yy+1; i<T2.yy; i++)
selisih_hari = selisih_hari + 365;
selisih_hari = selisih_hari + T2.dd;
Konversi(selisih_hari);
}
else if (T1.yy == T2.yy && T1.mm <= T2.mm)
{
if (T1.mm < T2.mm)
{
selisih_hari = (30 - T1.dd);
for (i=T1.mm+1; i<=T2.mm-1; i++)
selisih_hari = selisih_hari + 30;
selisih_hari = selisih_hari + T2.dd;
Konversi(selisih_hari);
}
else if (T1.mm == T2.mm && T1.dd <= T2.dd)
{
selisih_hari = T2.dd - T1.dd;
Konversi(selisih_hari);
}
else printf ("Data yang Anda masukkan salah, T2 harus setelah T1 \n");
}
else printf ("Data yang Anda masukkan salah, T2 harus setelah T1 \n");
}
void Konversi(long int selisih)
/* konversi selisih_hari */
{
long int T1, T2, sisa;
T1=selisih % 365;
sisa=sisa/365;
T2=selisih % 365;
sisa=sisa/365;
printf ("Selisih hari T1 dan T2 adalah : %ld hari", T1, T2);
}
posting juga dong algoritmanya
ReplyDelete