/* monesko.c */ /* Laskee monesko paiv„ on vuoden alusta */ #include typedef struct { int pv; int kk; int vv; } tPvm; int taulukon_summa(const int *taulu, int lkm) { int i,summa = 0; for (i=0; i tammikuu 1.2 => 31 + 1 = 32. 3.2 => 31 + 3 = 34. 1.3.1996 => 31 + 29 + 1 = 61; 1.3.1997 => 31 + 28 + 1 = 60; */ { return taulukon_summa(k_pituudet[karkausvuosi(pvm->vv)],pvm->kk-1) + pvm->pv; } void tulosta_pvm(const tPvm *pvm) { printf("%02d.%02d.%04d",pvm->pv,pvm->kk,pvm->vv); } void lisaa_vuosi(tPvm *pvm) { pvm->vv += 1; } int main(void) { tPvm pvmt[8] = { { 1,1,1996}, {29,2,1996}, {1,3,1996}, {2,3,1996}, {28,2,1997}, {29,2,1997}, {1,3,1997}, {2,3,1997} }; int i,mon; printf("-----------------------------------------\n"); for (i=0; i<8; i++) { mon = monesko(&pvmt[i]); tulosta_pvm(&pvmt[i]); printf(" Vuoden alusta %d. p„iv„\n",mon); } return 0; }