File: Stare vježbe/vjezbe03/22__switch_2.c
/* 22__switch_2.c Malo naprednije koristenje switch naredbe ----- Program racuna koliko je dana proteklo od pocetka nove ere do unesenog datuma */ #include <stdio.h> #include <stdlib.h> int main() { int dan, mjesec, godina; long n_dana; int prijestupna, n_prijestupnih_dana; printf("Unesite dan, mjesec i godinu: "); scanf("%d %d %d", &dan, &mjesec, &godina); prijestupna = godina%4==0 && godina%100!=0 || godina%400==0; n_prijestupnih_dana = (godina+3)/4 - 1 - godina/100 + godina/400; n_dana = (long) (godina-1) * 365; n_dana += n_prijestupnih_dana; switch (mjesec) { case 12: n_dana +=30; case 11: n_dana +=31; case 10: n_dana +=30; case 9: n_dana +=31; case 8: n_dana +=31; case 7: n_dana +=30; case 6: n_dana +=31; case 5: n_dana +=30; case 4: n_dana +=31; case 3: n_dana +=(prijestupna ? 29 : 28); case 2: n_dana +=31; case 1: break; default: printf("Nepostojeci mjesec\n"); exit(0); } n_dana+=dan-1; printf("Broj dana proteklih od pocetka nove ere = %ld\n", n_dana ); return 0; }
|