Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.13 KB | None | 0 0
  1. /*
  2. * File: pocetdni.c
  3. * Author: tom
  4. *
  5. * Created on 24. říjen 2010, 20:45
  6. */
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10.  
  11. /*
  12. *
  13. */
  14. int main(int argc, char** argv) {
  15. long long int r22=0,r111,r1111,r2222,r222,d1=0,m1=0,r1=0,d2=0,m2=0,r2=0,pocetd1=0,pocetm1=0,pocetr1=0,pocetd2=0,pocetm2=0,pocetr2=0,p1r1=0,p2r1=0,p3r1=0,p4r1=0,pocet1=0,p1r2=0,p2r2=0,p3r2=0,p4r2=0,pocet2=0,pocet=0,pocet11=0,pocet22=0;
  16. printf("Zadejte prvni datum - den mesic rok:\n");
  17. if (scanf("%lld %lld %lld", &d1, &m1 ,&r1)!=3) {printf("Nespravny vstup.\n"); return(0);}
  18. if (r1<=0 || m1>12 || d1>31 || m1<=0 || d1<=0) {printf("Nespravny vstup.\n"); return(0);}
  19. if ((m1==2 && d1>29) || (m1==4 && d1>30) || (m1==6 && d1>30) || (m1==9 && d1>30) || (m1==11 && d1>30)) {printf("Nespravny vstup.\n"); return(0);}
  20. if (r1==1584 && m1==1 && d1>6 && d1<17) {printf("Nespravny vstup.\n"); return(0);}
  21. if (r1<1584 || (r1==1584 && m1==1 && d1<7))
  22. if (r1%4!=0)
  23. if (m1==2 && d1>28) {printf("Nespravny vstup.\n"); return(0);}
  24. if (r1>1584 || (r1==1584 && m1>1) || (r1==1584 && m1==1 && d1>16))
  25. if (r1%4000==0 || (r1%400!=0 && r1%100==0) || r1%4!=0)
  26. if (m1==2 && d1>28) {printf("Nespravny vstup.\n"); return(0);}
  27.  
  28.  
  29. printf("Zadejte druhe datum - den mesic rok:\n");
  30. if (scanf("%lld %lld %lld", &d2, &m2 ,&r2)!=3) {printf("Nespravny vstup.\n"); return(0);}
  31. if (r2<=0 || m2>12 || d2>31 || m2<=0 || d2<=0) {printf("Nespravny vstup.\n"); return(0);}
  32. if ((m2==2 && d2>29) || (m2==4 && d2>30) || (m2==6 && d2>30) || (m2==9 && d2>30) || (m2==11 && d2>30)) {printf("Nespravny vstup.\n"); return(0);}
  33. if (r2==1584 && m2==1 && d2>6 && d2<17) {printf("Nespravny vstup.\n"); return(0);}
  34. if (r2<1584 || (r2==1584 && m2==1 && d2<7))
  35. if (r1%4!=0)
  36. if (m2==2 && d2>28) {printf("Nespravny vstup.\n"); return(0);}
  37. if (r2>1584 || (r2==1584 && m2>1) || (r2==1584 && m2==1 && d2>16))
  38. if (r2%4000==0 || (r2%400!=0 && r2%100==0) || r2%4!=0)
  39. if (m2==2 && d2>28) {printf("Nespravny vstup.\n"); return(0);}
  40. if (r1>r2 || (r2==r1 && m1>m2) || (r2==r1 && m2==m1 && d2<d1)) {printf("Prve datum je vetsi nez datum druhe.\n"); return(0);}
  41. r22=r2;
  42. r222=r2;
  43. r111=r1;
  44. r1111=r1;
  45. r2222=r2;
  46. if (r1>1584 || (r1==1584 && m1>1) || (r1==1584 && m1==1 && d1>16))
  47. {
  48. pocetd1=d1;
  49. pocetd2=d2;
  50. if (r1%4000!=0 && (r1%400==0 || (r1%100!=0 && r1%4==0)))
  51. {
  52. switch (m1)
  53. {
  54. case 1 : pocetm1=0; break;
  55. case 2 : pocetm1=31; break;
  56. case 3 : pocetm1=60; break;
  57. case 4 : pocetm1=91; break;
  58. case 5 : pocetm1=121; break;
  59. case 6 : pocetm1=152; break;
  60. case 7 : pocetm1=182; break;
  61. case 8 : pocetm1=213; break;
  62. case 9 : pocetm1=244; break;
  63. case 10 : pocetm1=274; break;
  64. case 11 : pocetm1=305; break;
  65. case 12 : pocetm1=335; break;
  66. }
  67. }
  68. else
  69. {
  70.  
  71. switch (m1)
  72. {
  73. case 1 : pocetm1=0; break;
  74. case 2 : pocetm1=31; break;
  75. case 3 : pocetm1=59; break;
  76. case 4 : pocetm1=90; break;
  77. case 5 : pocetm1=120; break;
  78. case 6 : pocetm1=151; break;
  79. case 7 : pocetm1=181; break;
  80. case 8 : pocetm1=212; break;
  81. case 9 : pocetm1=243; break;
  82. case 10 : pocetm1=273; break;
  83. case 11 : pocetm1=304; break;
  84. case 12 : pocetm1=334; break;
  85. }
  86. }
  87.  
  88.  
  89.  
  90. if (r2%4000!=0 && (r2%400==0 || (r2%100!=0 && r2%4==0)))
  91. {
  92. switch (m2)
  93. {
  94. case 1 : pocetm2=0; break;
  95. case 2 : pocetm2=31; break;
  96. case 3 : pocetm2=60; break;
  97. case 4 : pocetm2=91; break;
  98. case 5 : pocetm2=121; break;
  99. case 6 : pocetm2=152; break;
  100. case 7 : pocetm2=182; break;
  101. case 8 : pocetm2=213; break;
  102. case 9 : pocetm2=244; break;
  103. case 10 : pocetm2=274; break;
  104. case 11 : pocetm2=305; break;
  105. case 12 : pocetm2=335; break;
  106. }
  107. }
  108. else
  109. {
  110.  
  111. switch (m2)
  112. {
  113. case 1 : pocetm2=0; break;
  114. case 2 : pocetm2=31; break;
  115. case 3 : pocetm2=59; break;
  116. case 4 : pocetm2=90; break;
  117. case 5 : pocetm2=120; break;
  118. case 6 : pocetm2=151; break;
  119. case 7 : pocetm2=181; break;
  120. case 8 : pocetm2=212; break;
  121. case 9 : pocetm2=243; break;
  122. case 10 : pocetm2=273; break;
  123. case 11 : pocetm2=304; break;
  124. case 12 : pocetm2=334; break;
  125. }
  126. }
  127.  
  128. r1=r1--;
  129. r2=r2--;
  130. p1r1=r1/4;
  131. p2r1=r1/100;
  132. p3r1=r1/400;
  133. p4r1=r1/4000;
  134.  
  135. pocetr1=r1*365;
  136. pocetr1=pocetr1+p1r1-p2r1+p3r1-p4r1;
  137.  
  138.  
  139. pocet1=pocetd1+pocetm1+pocetr1;
  140. p1r2=r2/4;
  141. p2r2=r2/100;
  142. p3r2=r2/400;
  143. p4r2=r2/4000;
  144.  
  145. pocetr2=r2*365;
  146. pocetr2=pocetr2+p1r2-p2r2+p3r2-p4r2;
  147.  
  148.  
  149. pocet2=pocetd2+pocetm2+pocetr2;
  150.  
  151.  
  152. pocet=pocet2-pocet1;
  153.  
  154. }
  155.  
  156. if (r22<1584 || (r22==1584 && m2==1 && d2<7))
  157. {
  158. pocetd1=d1;
  159. pocetd2=d2;
  160. if (r1%4==0)
  161. {
  162. switch (m1)
  163. {
  164. case 1 : pocetm1=0; break;
  165. case 2 : pocetm1=31; break;
  166. case 3 : pocetm1=60; break;
  167. case 4 : pocetm1=91; break;
  168. case 5 : pocetm1=121; break;
  169. case 6 : pocetm1=152; break;
  170. case 7 : pocetm1=182; break;
  171. case 8 : pocetm1=213; break;
  172. case 9 : pocetm1=244; break;
  173. case 10 : pocetm1=274; break;
  174. case 11 : pocetm1=305; break;
  175. case 12 : pocetm1=335; break;
  176. }
  177. }
  178. else
  179. {
  180.  
  181. switch (m1)
  182. {
  183. case 1 : pocetm1=0; break;
  184. case 2 : pocetm1=31; break;
  185. case 3 : pocetm1=59; break;
  186. case 4 : pocetm1=90; break;
  187. case 5 : pocetm1=120; break;
  188. case 6 : pocetm1=151; break;
  189. case 7 : pocetm1=181; break;
  190. case 8 : pocetm1=212; break;
  191. case 9 : pocetm1=243; break;
  192. case 10 : pocetm1=273; break;
  193. case 11 : pocetm1=304; break;
  194. case 12 : pocetm1=334; break;
  195. }
  196. }
  197.  
  198.  
  199.  
  200. if (r2%4==0)
  201. {
  202. switch (m2)
  203. {
  204. case 1 : pocetm2=0; break;
  205. case 2 : pocetm2=31; break;
  206. case 3 : pocetm2=60; break;
  207. case 4 : pocetm2=91; break;
  208. case 5 : pocetm2=121; break;
  209. case 6 : pocetm2=152; break;
  210. case 7 : pocetm2=182; break;
  211. case 8 : pocetm2=213; break;
  212. case 9 : pocetm2=244; break;
  213. case 10 : pocetm2=274; break;
  214. case 11 : pocetm2=305; break;
  215. case 12 : pocetm2=335; break;
  216. }
  217. }
  218. else
  219. {
  220.  
  221. switch (m2)
  222. {
  223. case 1 : pocetm2=0; break;
  224. case 2 : pocetm2=31; break;
  225. case 3 : pocetm2=59; break;
  226. case 4 : pocetm2=90; break;
  227. case 5 : pocetm2=120; break;
  228. case 6 : pocetm2=151; break;
  229. case 7 : pocetm2=181; break;
  230. case 8 : pocetm2=212; break;
  231. case 9 : pocetm2=243; break;
  232. case 10 : pocetm2=273; break;
  233. case 11 : pocetm2=304; break;
  234. case 12 : pocetm2=334; break;
  235. }
  236. }
  237.  
  238. r1=r1--;
  239. r2=r2--;
  240. p1r1=r1/4;
  241.  
  242. pocetr1=r1*365;
  243. pocetr1=pocetr1+p1r1;
  244.  
  245. pocet1=pocetd1+pocetm1+pocetr1;
  246. p1r2=r2/4;
  247.  
  248. pocetr2=r2*365;
  249. pocetr2=pocetr2+p1r2;
  250. pocet2=pocetd2+pocetm2+pocetr2;
  251. pocet=pocet2-pocet1;
  252. }
  253. if ((r222>1584 || (r222==1584 && m2>1) || (r222==1584 && m2==1 && d2>16)) && (r111<1584 || (r111==1584 && m1==1 && d1<7)))
  254. {
  255. pocetd1=d1;
  256. pocetd2=d2;
  257.  
  258. if (r2%4000!=0 && (r2%400==0 || (r2%100!=0 && r2%4==0)))
  259. {
  260. switch (m2)
  261. {
  262. case 1 : pocetm2=0; break;
  263. case 2 : pocetm2=31; break;
  264. case 3 : pocetm2=60; break;
  265. case 4 : pocetm2=91; break;
  266. case 5 : pocetm2=121; break;
  267. case 6 : pocetm2=152; break;
  268. case 7 : pocetm2=182; break;
  269. case 8 : pocetm2=213; break;
  270. case 9 : pocetm2=244; break;
  271. case 10 : pocetm2=274; break;
  272. case 11 : pocetm2=305; break;
  273. case 12 : pocetm2=335; break;
  274. }
  275. }
  276. else
  277. {
  278.  
  279. switch (m2)
  280. {
  281. case 1 : pocetm2=0; break;
  282. case 2 : pocetm2=31; break;
  283. case 3 : pocetm2=59; break;
  284. case 4 : pocetm2=90; break;
  285. case 5 : pocetm2=120; break;
  286. case 6 : pocetm2=151; break;
  287. case 7 : pocetm2=181; break;
  288. case 8 : pocetm2=212; break;
  289. case 9 : pocetm2=243; break;
  290. case 10 : pocetm2=273; break;
  291. case 11 : pocetm2=304; break;
  292. case 12 : pocetm2=334; break;
  293. }
  294. }
  295.  
  296. if (r1%4==0)
  297. {
  298. switch (m1)
  299. {
  300. case 1 : pocetm1=0; break;
  301. case 2 : pocetm1=31; break;
  302. case 3 : pocetm1=60; break;
  303. case 4 : pocetm1=91; break;
  304. case 5 : pocetm1=121; break;
  305. case 6 : pocetm1=152; break;
  306. case 7 : pocetm1=182; break;
  307. case 8 : pocetm1=213; break;
  308. case 9 : pocetm1=244; break;
  309. case 10 : pocetm1=274; break;
  310. case 11 : pocetm1=305; break;
  311. case 12 : pocetm1=335; break;
  312. }
  313. }
  314. else
  315. {
  316.  
  317. switch (m1)
  318. {
  319. case 1 : pocetm1=0; break;
  320. case 2 : pocetm1=31; break;
  321. case 3 : pocetm1=59; break;
  322. case 4 : pocetm1=90; break;
  323. case 5 : pocetm1=120; break;
  324. case 6 : pocetm1=151; break;
  325. case 7 : pocetm1=181; break;
  326. case 8 : pocetm1=212; break;
  327. case 9 : pocetm1=243; break;
  328. case 10 : pocetm1=273; break;
  329. case 11 : pocetm1=304; break;
  330. case 12 : pocetm1=334; break;
  331. }
  332. }
  333.  
  334. r1=r1-1;
  335. r2=r2-1;
  336. p1r1=r1/4;
  337.  
  338.  
  339. pocetr1=r1*365;
  340. pocetr1=pocetr1+p1r1;
  341.  
  342.  
  343. pocet1=pocetd1+pocetm1+pocetr1;
  344. pocet11=578196-pocet1;
  345.  
  346.  
  347. p1r2=r2/4;
  348. p2r2=r2/100;
  349. p3r2=r2/400;
  350. p4r2=r2/4000;
  351.  
  352. pocetr2=r2*365;
  353. pocetr2=pocetr2+p1r2-p2r2+p3r2-p4r2;
  354. pocet2=pocetd2+pocetm2+pocetr2;
  355.  
  356. pocet22=pocet2-578195;
  357. pocet=pocet22+pocet11+1;
  358.  
  359. }
  360.  
  361. printf("Mezi %lld.%lld.%lld a %lld.%lld.%lld ubehlo %lld dni.\n",d1,m1,r1111,d2,m2,r2222,pocet);
  362.  
  363.  
  364.  
  365.  
  366.  
  367. return (EXIT_SUCCESS);
  368. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement