Advertisement
Guest User

Untitled

a guest
Jun 12th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.94 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<string.h>
  4. #include<stdlib.h>
  5.  
  6. void kat(int god)
  7. {
  8. int a,b,c,d,e,f,g,h,i,k,l,m,mesec,dan;
  9. char mes[6];
  10.  
  11. /* Ovaj algoritram se naziva Bucherov algoritam
  12. i vazi za sve godine posle 1582. (ukljucujuci i nju)*/
  13.  
  14. a=god%19; /*ostatak pri deljenju godine sa 19*/
  15.  
  16. b=god/100; /*rezultat deljenja godine sa 100*/
  17.  
  18. c=god%100; /*ostatak pri deljenju godine sa 100*/
  19.  
  20. d=b/4;
  21.  
  22. e=b%4;
  23.  
  24. f=(b+8)/25;
  25.  
  26. g=(b-f+1)/3;
  27.  
  28. h=(19*a+b-d-g+15)%30; /*Potrebno za izracunavanje promenljive m*/
  29.  
  30. i=c/4;
  31.  
  32. k=c%4;
  33.  
  34. l=(32+2*e+2*i-h-k)%7;
  35.  
  36. m=(a+11*h+22*l)/451; /*Promenljiva m nam treba pri izracunavanju dana i meseca uskrsa*/
  37.  
  38. mesec=(h+l-7*m+114)/31; /*Ova linija koda racuna mesec uskrsa, 3 za mart ili 4 za april*/
  39.  
  40. dan=((h+l-7*m+114)%31)+1; /*Ova linija koda racunba dan uskrsa*/
  41.  
  42. if(mesec==4)
  43. strcpy(mes,"April");
  44.  
  45. if(mesec==3)
  46. strcpy(mes,"Mart");
  47.  
  48. printf("Katolicki uskrs: %d. %s\n\n",dan,mes);
  49. }
  50.  
  51. void prav (int god)
  52. {
  53. int a,b,c,d,e,m,dan,dang,vek;
  54. char mesec[6];
  55.  
  56. /* Ovo je Jean Meeusov algoritam, koristi se za izracunavanje
  57. pravoslavnog uskrsa po julijanskom kalendaru, da bi
  58. se prilagodilo danasnjem racunanju vremena mora se posle
  59. ovog algoritma konvertovati u gregorijanski kalendar*/
  60.  
  61. a=god%4;
  62. b=god%7;
  63. c=god%19;
  64. d=(19*c+15)%30;
  65. e=((2*a)+(4*b)-d+34)%7;
  66. m=(d+e+114)/31;
  67. dan=((d+e+114)%31)+1;
  68.  
  69. if(m==4)
  70. strcpy(mesec,"April");
  71.  
  72. if(m==3)
  73. strcpy(mesec,"Mart");
  74.  
  75. printf("Pravoslavni uskrs po julijanskom kalendaru: %d. %s\n\n",dan,mesec);
  76.  
  77. if(god%100!=0)
  78. vek=god/100+1;
  79. else vek=god/100;
  80.  
  81. dang=dan+(3*(vek)/4)-2;
  82. /*Ova linija koda konvertuje datum pravoslavnog
  83. uskrsa sa julijanskog kalendara na gregorijanski*/
  84.  
  85. if(god%2000!=0 && god%100==0)
  86. dang++;
  87.  
  88. if(dang>31 && m==3)
  89. /*Prilikom konverzije moze se desiti da dan
  90. predje 31 pa u tom slucaju smanjujemo dan
  91. za 31 a mesec povecavamo za 1*/
  92. {
  93. dang=dang-31;
  94. m++;
  95. }
  96.  
  97. if(dang>30 && m==4)
  98. /*Prilikom prethodne konverzije moze se
  99. desiti da dan predje 30 pa u tom slucaju
  100. smanjujemo dan za 30 i povecavamo mesec za jos 1*/
  101. {
  102. dang=dang-30;
  103. m++;
  104. }
  105. if(m==4)
  106. strcpy(mesec,"April");
  107.  
  108. if(m==5)
  109. strcpy(mesec,"Maj");
  110.  
  111. printf("Pravoslavni uskrs po gregorijanskom kalendaru: %d. %s\n\n",dang,mesec);
  112.  
  113. }
  114.  
  115. main()
  116. {
  117. int god,a=1;
  118.  
  119. do{
  120.  
  121.  
  122. printf("Unesite godinu: ");
  123. scanf("%d",&god);
  124. kat(god);
  125. prav(god);
  126.  
  127.  
  128. printf("Za izlaz iz programa unesite 2, za dalje koriscenje unesite 1\n");
  129. scanf("%d",&a);
  130.  
  131. system("cls");
  132. }while(a==1);
  133.  
  134.  
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement