#include #include /*Puhkepäevad Kirjutada programm, mis leiab puhkepäevade arvu antud aastas. Sisend: Tekstifaili PUH.SIS ainsal real on aastanumber A (1900 6 A 6 2100). Väljund: Tekstifaili PUH.VAL ainsale reale väljastada üks täisarv — puhkepäevade arv uuritavas aastas. Puhkepäevadeks lugeda ainult laupäevad ja pühapäevad, riiklikke pühi mitte arvestada.*/ int main(void) { double aasta, lahend; int lahend2, aasta1, vastus; int arv[4]; //avatakse mõlemad failid puh.val ja puh.sis FILE *valja=fopen("puh.val", "w"); FILE *sisse=fopen("puh.sis", "r"); //loetakse sisse aasta arv fscanf(sisse, "%d", &arv[0]); fclose(sisse); aasta=arv[0]; aasta1=arv[0]; //selle järgi määratakse ära kas on tegu liht või liigaastaga vastus=1; lahend=aasta/4; lahend2=aasta1/4; /*Kehtib reegel et iga 8 aasta tagant on liigaasta, kus on 106 puhkepäeva On vaheldumisi 104 ja 106 puhkepäeva. Jagatakse ja vaadatakse, kas tekib jääk Kui tekib jääk siis lahend==lahend2 ei kehti ja tehakse vastavalt midagi muud. */ if (lahend==lahend2){ lahend=aasta/100; lahend2=aasta1/100; vastus=2; if (lahend==lahend2){ lahend=aasta/400; lahend2=aasta1/400; vastus=1; if (lahend==lahend2){ vastus=2; } } } if (vastus==1){ printf("Vastav aasta on lihtaasta, kus puhkep2evi on 104!\n"); fprintf(valja, "104"); } if (vastus==2){ printf("%d \n", aasta1); printf("Vastav aasta on liigaasta, "); //vaadatakse kas jagub 8-ga siis nähakse mitu puhkepäeva on! lahend=aasta/8; lahend2=aasta1/8; if (lahend==lahend2){ printf("kus puhkep2evi on 106!\n"); fprintf(valja, "106"); } else { printf("kus puhkep2evi on 104!\n"); fprintf(valja, "104"); } } system("pause"); return 0; }