Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void Mesiac(int M)
- {
- char MenoMesiaca[12][12] = {
- {"Januar"},
- {"Februar"},
- {"Marec"},
- {"April"},
- {"Maj"},
- {"Jun"},
- {"Jul"},
- {"August"},
- {"September"},
- {"Oktober"},
- {"November"},
- {"December"}};
- printf("\n\n\n%s:", MenoMesiaca[M - 1]);
- }
- int PriestupnyRok(int y)
- {
- if((y % 4) == 0)
- {
- if((y % 100) == 0)
- {
- if((y % 400) == 0)
- {
- return 1;
- }
- else
- {
- return 0;
- }
- }
- else
- {
- return 1;
- }
- return 1;
- }
- else
- {
- return 0;
- }
- }
- int PocetDniMesiaca(int M, int Y)
- {
- if(PriestupnyRok(Y) == 1)
- {
- int Dni[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
- if(M < 1 || M > 12) return printf("Zle ste zadali mesiac");
- return Dni[M - 1];
- }
- else
- {
- int Dni[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
- if(M < 1 || M > 12) return printf("Zle ste zadali mesiac");
- return Dni[M - 1];
- }
- }
- int PrvyDen(int M, int Y)
- {
- int a, year, month, d;
- a = ((14 - M) / 12);
- year = Y - a;
- month = (M + (12 * a) - 2);
- d = (5 + 1 + year + (year / 4) + ((31 * month) / 12)) % 7;
- return d;
- }
- void GrafickeZnazornenie(int M, int Y)
- {
- int i;
- Mesiac(M);
- printf("\nPon Uto Sre Stv Pia Sob Ned\n");
- printf("=================================\n");
- for (i = 1; i <= 1 + PrvyDen(M, Y) * 5; i++)
- {
- printf(" ");
- }
- for (i = 1; i <= PocetDniMesiaca(M, Y); i++)
- {
- printf("%2d", i);
- if ((i + PrvyDen(M, Y)) % 7 > 0)
- {
- printf(" ");
- }
- else
- {
- printf("\n ");
- }
- }
- }
- void Menu(int option)
- {
- int Month, Year;
- switch(option)
- {
- case 1:
- {
- printf("Zadajte mesiac:");
- scanf("%d", &Month);
- printf("Zadajte rok:");
- scanf("%d", &Year);
- if(Year < 0 && (Month < 1 || Month > 12))
- {
- printf("Zadali ste zly rok alebo zly mesiac, skontrolujte si opet vase vstupy.\n");
- printf("Zadajte mesiac:");
- scanf("%d", &Month);
- printf("Zadajte rok:");
- scanf("%d", &Year);
- }
- else
- {
- GrafickeZnazornenie(Month, Year);
- }
- Month, Year = 0;
- break;
- }
- case 2:
- {
- int i;
- printf("Zadajte rok:");
- scanf("%d", &Year);
- for(i = 1; i <= 12; i++)
- {
- GrafickeZnazornenie(i, Year);
- }
- Month, Year = 0;
- break;
- }
- case 3:
- {
- break;
- }
- case 4:
- {
- break;
- }
- default:
- {
- break;
- }
- }
- }
- int main()
- {
- int op = 0;
- printf("Menu:\n\
- 1) Zobrazenia kalendara pre zadany mesiac vo zvolenom roku. \n\
- 2) Zobrazenie kalendara prezadany rok. \n\
- 3) Zistenie poctu dni medzi 2 zvolenymi datumamy \n\
- 4) Ukoncenie programu\n\n\
- Zadajte si nieco z menu:");
- scanf("%d", &op);
- Menu(op);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment