Sanady

Untitled

Mar 6th, 2018
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.78 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void Mesiac(int M)
  5. {
  6.     char MenoMesiaca[12][12] = {
  7.     {"Januar"},
  8.     {"Februar"},
  9.     {"Marec"},
  10.     {"April"},
  11.     {"Maj"},
  12.     {"Jun"},
  13.     {"Jul"},
  14.     {"August"},
  15.     {"September"},
  16.     {"Oktober"},
  17.     {"November"},
  18.     {"December"}};
  19.     printf("\n\n\n%s:", MenoMesiaca[M - 1]);
  20. }
  21.  
  22. int PriestupnyRok(int y)
  23. {  
  24.     if((y % 4) == 0)
  25.     {
  26.         if((y % 100) == 0)
  27.         {
  28.             if((y % 400) == 0)
  29.             {
  30.                 return 1;
  31.             }
  32.             else
  33.             {
  34.                 return 0;
  35.             }  
  36.         }
  37.         else
  38.         {
  39.             return 1;  
  40.         }
  41.         return 1;  
  42.     }
  43.     else
  44.     {
  45.         return 0;
  46.     }
  47.    
  48. }
  49.  
  50. int PocetDniMesiaca(int M, int Y)
  51. {
  52.     if(PriestupnyRok(Y) == 1)
  53.     {
  54.         int Dni[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  55.         if(M < 1 || M > 12) return printf("Zle ste zadali mesiac");
  56.         return Dni[M - 1];
  57.     }
  58.     else
  59.     {
  60.         int Dni[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  61.         if(M < 1 || M > 12) return printf("Zle ste zadali mesiac");
  62.         return Dni[M - 1];
  63.     }
  64. }
  65.  
  66. int PrvyDen(int M, int Y)
  67. {
  68.     int a, year, month, d;
  69.     a = ((14 - M) / 12);
  70.     year = Y - a;
  71.     month = (M + (12 * a) - 2);
  72.     d = (5 + 1 + year + (year / 4) + ((31 * month) / 12)) % 7;
  73.     return d;
  74. }
  75.  
  76. void GrafickeZnazornenie(int M, int Y)
  77. {
  78.     int i;
  79.     Mesiac(M);
  80.     printf("\nPon  Uto  Sre  Stv  Pia  Sob  Ned\n");
  81.     printf("=================================\n");
  82.     for (i = 1; i <= 1 + PrvyDen(M, Y) * 5; i++)
  83.     {
  84.         printf(" ");
  85.     }
  86.     for (i = 1; i <= PocetDniMesiaca(M, Y); i++)
  87.     {
  88.         printf("%2d", i);
  89.         if ((i + PrvyDen(M, Y)) % 7 > 0)
  90.         {
  91.             printf("   ");
  92.         }
  93.         else
  94.         {
  95.             printf("\n ");
  96.         }
  97.     }
  98.  
  99. }
  100.  
  101. void Menu(int option)
  102. {
  103.     int Month, Year;
  104.     switch(option)
  105.     {
  106.         case 1:
  107.         {
  108.             printf("Zadajte mesiac:");
  109.             scanf("%d", &Month);
  110.             printf("Zadajte rok:");
  111.             scanf("%d", &Year);
  112.            
  113.             if(Year < 0 && (Month < 1 || Month > 12))
  114.             {
  115.                 printf("Zadali ste zly rok alebo zly mesiac, skontrolujte si opet vase vstupy.\n");
  116.                
  117.                 printf("Zadajte mesiac:");
  118.                 scanf("%d", &Month);
  119.                 printf("Zadajte rok:");
  120.                 scanf("%d", &Year);
  121.             }
  122.             else
  123.             {
  124.                 GrafickeZnazornenie(Month, Year);  
  125.             }
  126.             Month, Year = 0;
  127.             break;         
  128.         }
  129.         case 2:
  130.         {
  131.             int i;
  132.             printf("Zadajte rok:");
  133.             scanf("%d", &Year);
  134.            
  135.             for(i = 1; i <= 12; i++)
  136.             {
  137.                 GrafickeZnazornenie(i, Year);
  138.             }
  139.             Month, Year = 0;
  140.             break;
  141.         }
  142.         case 3:
  143.         {
  144.             break;
  145.         }
  146.         case 4:
  147.         {
  148.             break;
  149.         }
  150.         default:
  151.         {
  152.             break;
  153.         }
  154.     }
  155. }
  156.  
  157. int main()
  158. {
  159.     int op = 0;
  160.     printf("Menu:\n\
  161.             1) Zobrazenia kalendara pre zadany mesiac vo zvolenom roku. \n\
  162.             2) Zobrazenie kalendara prezadany rok. \n\
  163.             3) Zistenie poctu dni medzi 2 zvolenymi datumamy \n\
  164.             4) Ukoncenie programu\n\n\
  165.             Zadajte si nieco z menu:");
  166.     scanf("%d", &op);
  167.     Menu(op);
  168.    
  169.    
  170.     return 0;
  171. }
Advertisement
Add Comment
Please, Sign In to add comment