Halo teman-teman, ketemu lagi nih sama aku. Gak kerasa ya udah di ujung semester 1, udah ada di percobaan 10 juga nihh. Untuk artikel kali ini kita akan mempelajari Variabel Struktur.

Sebelum masuk pada pembahasan, aku mau jelasin apasih tujuannya belajar variable struktur itu? Jadi tujuannya yaitu mempelajari penggunaan variabel struktur dimana dipadukan dengan variabel yang pernah dibaca sebelumnya, yaitu meliputi pointer dan array serta dipadukan dengan fungsi. Bagaimana mendeklarasi, mengidentifikasi, dan mengakses dari suatu struktur. Okedeh, langsung saja masuk ke pembahasan.

 

  1. Membuat Program Untuk Menghitung Hari.

#include<stdio.h>

struct tgl {

int d;

int m;

int y;};

int bulann [13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

struct tgl skrg;

static char *bulan[]={

“salah”,”jnr”,”feb”,”mrt”,”apr”,”mei”,”jun”,”jul”,”ags”,”sep”,”okt”,”nov”,”des”};

void tanggalanbesok(struct tgl bsk,int tambah)

{   bsk.d=bsk.d+tambah;

while (bsk.d>bulann[bsk.m]){

if (bsk.y%4==0)

bulann[2]=29;

else bulann[2]=28;

bsk.d=bsk.d-bulann[bsk.m];

bsk.m=bsk.m+1;

if (bsk.m>12)

{bsk.m=bsk.m-12;bsk.y=bsk.y+1;}}

printf (“\n%d-%d-%d”,bsk.d,bsk.m,bsk.y);

printf(“\n%d %s %d”,bsk.d,bulan[bsk.m],bsk.y);

}

 

 

int main()

{

printf(“Tanggal sekarang adalah “);

int tambah;

mulai:

printf (“masukan tanggal : (dd mm yy)\n”);

scanf(“%d %d %d”,&skrg.d,&skrg.m,&skrg.y);

if(skrg.y%4==0)

bulann[2]=29;

else bulann[2]=28;

if(skrg.d>bulann[skrg.m]||skrg.m>12||skrg.m<1){

printf(“\nForamat salah ulang\n”);

goto mulai;}

printf(“%d %s %d”,skrg.d,bulan[skrg.m],skrg.y);

printf (“\nmasukan berapa jumlah hari berikutnya : “);

scanf(“%d”,&tambah);

tanggalanbesok(skrg,tambah);

}

 

Lalu muncul hasil seperti berikut:

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  1. Selisih Hari Pada Tanggal Yang Di Tentukan.

#include<stdio.h>

//belum fix

int main()

{

struct tgl {

int d;

int m;

int y;};

int bulann [13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

static char *bulan[]={

“salah”,”jnr”,”feb”,”mrt”,”apr”,”mei”,”jun”,”jul”,”ags”,”sep”,”okt”,”nov”,”des”};

struct tgl skrg;

struct tgl nanti;

int selisih=0;

mulai:

printf (“masukan tanggal sekarang: (dd mm yy)\n”);

scanf(“%d %d %d”,&skrg.d,&skrg.m,&skrg.y);

if(skrg.y%4==0)

bulann[2]=29;

else bulann[2]=28;

if(skrg.d>bulann[skrg.m]||skrg.m>12||skrg.m<1){

printf(“\nForamat salah ulang\n”);

goto mulai;}

printf(“\n%d %s %d”,skrg.d,bulan[skrg.m],skrg.y);

ulang:

printf (“\nmasukan tanggal nanti : (dd mm yy)\n”);

scanf(“%d %d %d”,&nanti.d,&nanti.m,&nanti.y);

if(nanti.y%4==0)

bulann[2]=29;

else bulann[2]=28;

if(nanti.d>bulann[nanti.m]||nanti.m>12||nanti.m<1){

printf(“\nForamat salah ulang\n”);

goto ulang;}

printf(“\n%d %s %d\n”,nanti.d,bulan[nanti.m],nanti.y);

 

while(skrg.d!=nanti.d||skrg.m!=nanti.m||skrg.y!=nanti.y)

{

if(skrg.y%4==0)

bulann[2]=29;

else bulann[2]=28;

skrg.d=skrg.d+1;

selisih++;

if(skrg.d>bulann[skrg.m]){

skrg.m=skrg.m+1;

skrg.d=1;}

if(skrg.m==13){

skrg.m=skrg.m-12;

skrg.y=skrg.y+1;}

}

printf(“Selisihnya adalah “);

printf(“%d hari “,selisih);

getch();

}

 

Hasilnya

  • Facebook
  • Twitter
  • Google+
  • Pinterest