Contoh Soal Struc Beserta Kode Dan Hasil
1. Membuat 2 variabel (today & tomorrow) bertipe struct date. Isilah variabel today dengan tanggal hari ini. Temukan tanggal untuk variabel tomorrow.
Ket :
• Memberi pengecekan untuk akhir bulan
• Memberi pengecekan untuk akhir tahun
• Memberi pengecekan untuk bulan Februari di tahun kabisat
Jawab
Kode
#include <stdio.h>
#include <stdlib.h>
struct date {
int day, month, year;
};
// prototipe fungsi
int totalHari(int month, int year);
int main() {
struct date today,tomorrow;
int jmlHari = 30;
printf("\nInput tanggal Sekarang (dd-mm-yyyy)\t: ");
scanf("%d-%d-%d",&today.day,&today.month,&today.year);
if(today.day + 1 > totalHari(today.month,today.year))
{
if(today.month == 12)
{
//Ganti tahun
tomorrow.day = 1;
tomorrow.month = 1;
tomorrow.year = today.year + 1;
}
else
{
//ganti bulan
tomorrow.day= 1;
tomorrow.month = today.month + 1;
tomorrow.year = today.year;
}
}
else
{
tomorrow.day= today.day + 1;
tomorrow.month = today.month;
tomorrow.year = today.year;
}
printf("besok adalah tanggal\t\t: %02d-%02d-%2d",tomorrow.day,tomorrow.month,tomorrow.year);
fflush(stdin);
return 0;
}
int totalHari(int bulan, int tahun)
{
int dftrHr[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int jumHr = dftrHr[bulan-1];
if(bulan == 2 && tahun % 4 == 0)
{
if(tahun % 100 !=0 || tahun % 400 == 0)
jumHr = 29;
}
return jumHr;
}
EmoticonEmoticon