Konversi Jam C++
#include <stdio.h>
#include <conio.h>
// deklarasi tipe bentukan point
typedef struct {
int hh;
int mm;
int ss;
} jam;
/*** deklarasi fungsi-fungsi yang digunakan ***/
/**********************************************/
int isJvalid (int h, int m, int s);
jam Makejam (int hh, int mm, int ss);
int GetHour (jam J);
int GetMinute (jam J);
int GetSecond (jam J);
void Sethh (jam *J, int newhh);
void Setmm (jam *J, int newmm);
void Setss (jam *J, int newss);
void Tulisjam (jam J);
long int jamtodetik (jam J);
jam detiktojam (long int d);
int bandingjam (jam J1, jam J2);
jam Jplus (jam J1, jam J2);
jam Jminus (jam J1, jam J2);
jam Nextdetik (jam J);
jam Nextndetik (jam J, int n);
jam Prevdetik (jam J);
jam Prevndetik (jam J, int n);
long int Durasi (jam J1, jam J2);
/**** Fungsi Utama ****/
void main ()
{
jam J1, J2, J3,J4,J5,J6,J7,J8,J9;
int hh,mm,ss,n,nn,nnn;
long int d;
clrscr ();
// point P1 dibuat secara manual
printf (” Masukkan nilai jam J1 = “); scanf (“%d”,&J1.hh);
printf (” masukkan nilai menit J1 = “); scanf (“%d”,&J1.mm);
printf (” masukkan nilai detik J1 = “); scanf (“%d”,&J1.ss);
printf (” masukkan nilai jam J2 = “); scanf (“%d”,&hh);
printf (” masukkan nilai menit J2 = “); scanf (“%d”,&mm);
printf (” masukkan nilai detik J2 = “); scanf (“%d”,&ss);
if (isJvalid(hh,mm,ss)==1)
J2=Makejam(hh,mm,ss);
else
{ J2=Makejam(0,0,0);
printf (” masukkan nilai jam J2 yang baru= “); scanf (“%d”,&hh);
printf (” masukkan nilai menit J2 yang baru= “); scanf (“%d”,&mm);
printf (” masukkan nilai detik J2 yang baru= “); scanf (“%d”,&ss);
Sethh(&J2,hh);
Setmm(&J2,mm);
Setss(&J2,ss);
printf(” nilai Jam J2= \n”);Tulisjam(J2);
}
printf(” nilai Jam J1= “);Tulisjam(J1);
printf(” nilai Jam J2= “);Tulisjam(J2);
printf(” nilai jam=%i\n”,GetHour(J2));
printf(” nilai menit=%i\n”,GetMinute(J2));
printf(” nilai detik=%i\n”,GetSecond(J2));
printf(” J2 %d:%d:%d= %d detik\n”,J2.hh,J2.mm,J2.ss,jamtodetik(J2));
printf(” input detik= “);scanf(“%ld”,&d);
J3= detiktojam(d);
printf(” jam dari input detik=”);Tulisjam(J3);
printf(” jam 1 =”);Tulisjam(J1);
printf(” jam 2 =”);Tulisjam(J2);
J4=Jplus (J1,J2);
printf(” jam 1 tambah jam 2= “); Tulisjam(J4);
J5=Jminus (J1,J2);
printf(” jam 1 kurang jam 2= “); Tulisjam(J5);
printf(” jam 1 =”);Tulisjam(J1);
J6=Nextdetik ( J1);
J8= Prevdetik ( J1);
printf(” Next 1 detik dari jam1 =”);Tulisjam(J6);
printf(” preveiw 1 detik dari jam1 =”);Tulisjam(J8);
printf(” inputkan next n detik= “);scanf(“%d”,&n);
J7=Nextndetik ( J1,n) ;
printf(” Next n detik dari jam1 =”);Tulisjam(J7);
printf(” inputkan previw n detik= “);scanf(“%d”,&n);
J9= Prevndetik (J1, n);
printf(” preveiw n detik dari jam1 =”);Tulisjam(J9);
printf(” jam 2 =”);Tulisjam(J2);
J6=Nextdetik ( J2);
J8= Prevdetik ( J1);
printf(” Next 1 detik dari jam2 =”);Tulisjam(J6);
printf(” preveiw 1 detik dari jam2 =”);Tulisjam(J8);
printf(” inputkan next n detik= “);scanf(“%d”,&n);
J7=Nextndetik ( J2,n) ;
printf(” Next n detik dari jam2 =”);Tulisjam(J7);
printf(” inputkan previw n detik= “);scanf(“%d”,&n);
J9= Prevndetik (J1, n);
printf(” preveiw n detik dari jam2 =”);Tulisjam(J9);
printf(“Durasi Waktu :%d”,Durasi(J1,J2));
getch();
}
jam ;
int isJvalid (int h, int m, int s)
{ if ((h>=0 && h<=23)&&(m>=0 && m<=59)&&(s>=0 && s<=59))
return(1);
else
return(0);
}
jam Makejam (int hh, int mm, int ss)
{ jam J;
J.hh=hh;
J.mm=mm;
J.ss=ss;
return(J);
}
void Tulisjam (jam J)
{ printf(“%d:%d:%d\n”,J.hh,J.mm,J.ss);
}
void Sethh (jam *J, int newhh)
{ (*J).hh=newhh;}
void Setmm (jam *J, int newmm)
{ (*J).mm=newmm;}
void Setss (jam *J, int newss)
{ (*J).ss=newss;}
int GetHour (jam J)
{ return(J.hh);}
int GetMinute (jam J)
{ return(J.mm);}
int GetSecond (jam J)
{ return(J.ss);}
long int jamtodetik (jam J)
{
J.hh=(J.hh*3600)+(J.mm*60)+J.ss;
return (J.hh);
}
jam detiktojam (long int d)
{
int x;
jam J3;
J3.hh = d/3600;
x = d % 3600;
J3.mm = x / 60;
J3.ss = x % 60;
if (J3.hh>23)
{
J3.hh=J3.hh-23;
}
else
{
J3.hh=J3.hh-0;
}
return (J3);
}
int bandingjam (jam J1, jam J2)
{ jam J;
if ((J1.hh==J2.hh)&&(J1.mm==J2.mm)&&(J1.ss==J2.ss))
return (0);
else
return (1);
}
jam Jplus (jam J1, jam J2)
{ jam J;
J.hh=(((J1.hh+J2.hh)*3600)+((J1.mm+J2.mm)*60)+J1.ss+J2.ss)/3600;
J.mm=((((J1.hh+J2.hh)*3600)+((J1.mm+J2.mm)*60)+J1.ss+J2.ss)%3600)/60;
J.ss=((((J1.hh+J2.hh)*3600)+((J1.mm+J2.mm)*60)+J1.ss+J2.ss)%3600)%60;
return (J);
}
jam Jminus (jam J1, jam J2)
{
jam J;
J.hh=(((J1.hh-J2.hh)*3600)+((J1.mm-J2.mm)*60)+J1.ss-J2.ss)/3600;
J.mm=((((J1.hh-J2.hh)*3600)+((J1.mm-J2.mm)*60)+J1.ss-J2.ss)%3600)/60;
J.ss=((((J1.hh-J2.hh)*3600)+((J1.mm-J2.mm)*60)+J1.ss-J2.ss)%3600)%60;
return (J);
}
jam Nextdetik (jam J)
{
J.hh=(((J.hh)*3600)+((J.mm)*60)+J.ss+1)/3600;
J.mm=((((J.hh)*3600)+((J.mm)*60)+J.ss+1)%3600)/60;
J.ss=((((J.hh)*3600)+((J.mm)*60)+J.ss+1)%3600)%60;
return (J);
}
jam Nextndetik (jam J, int n)
{
J.hh=(((J.hh)*3600)+((J.mm)*60)+J.ss+n)/3600;
J.mm=((((J.hh)*3600)+((J.mm)*60)+J.ss+n)%3600)/60;
J.ss=((((J.hh)*3600)+((J.mm)*60)+J.ss+n)%3600)%60;
return (J);
}
jam Prevdetik (jam J)
{
J.hh=(((J.hh)*3600)+((J.mm)*60)+J.ss-1)/3600;
J.mm=((((J.hh)*3600)+((J.mm)*60)+J.ss-1)%3600)/60;
J.ss=((((J.hh)*3600)+((J.mm)*60)+J.ss-1)%3600)%60;
return (J);
}
jam Prevndetik (jam J, int n)
{
J.hh=(((J.hh)*3600)+((J.mm)*60)+J.ss-n)/3600;
J.mm=((((J.hh)*3600)+((J.mm)*60)+J.ss-n)%3600)/60;
J.ss=((((J.hh)*3600)+((J.mm)*60)+J.ss-n)%3600)%60;
return (J);
}
long int Durasi (jam J1, jam J2)
{
long int r;
r=((((J1.hh-J2.hh)*3600)+((J1.mm-J2.mm)*60)+J1.ss)-J2.ss);
return (r);
}

tulisan yang mengandung bayak ilmu