Guest User

Untitled

a guest
Mar 11th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int pobierz_liczba_calkowita(char*);
  5. void sprawdz_rok(int);
  6. void wypisz(int,int);
  7. int wprowadz_ilosc_dni_w_miesiacu(int,int);
  8. void Jaki_dzien_tygodnia(int,int,int);
  9.  
  10. int main(){
  11. int dzien,miesiac,rok,wynik;
  12.  
  13. dzien=pobierz_liczba_calkowita("Podaj dzien");
  14. printf("\n");
  15.  
  16. miesiac=pobierz_liczba_calkowita("\nPodaj miesiac");
  17. printf("\n");
  18.  
  19. rok=pobierz_liczba_calkowita("Podaj rok");
  20. printf("\n");
  21.  
  22. sprawdz_rok(rok);
  23. printf("\n");
  24.  
  25. wypisz(miesiac,rok);
  26. printf("\n");
  27.  
  28. wynik=wprowadz_ilosc_dni_w_miesiacu(miesiac,rok);
  29. printf("\n");
  30.  
  31. printf("ilosc dni w miesiacu: %d\n",wynik);
  32. Jaki_dzien_tygodnia(dzien,miesiac,rok);
  33. printf("\n");
  34.  
  35. system("pause");
  36.  
  37. return 0;
  38. }
  39. int pobierz_liczba_calkowita(char*napis){
  40. int a;
  41. printf("%s\n", napis);
  42. scanf_s("%d",&a);
  43. return a;
  44. }
  45.  
  46.  
  47. void sprawdz_rok(int rok){
  48.  
  49.  
  50. if((rok%4==0 && rok%100!=0) || rok%400==0){
  51. printf("Rok jest przystepny\n");
  52. }
  53. else
  54. {
  55. printf("Rok nie jest przystepny\n");
  56. }
  57. }
  58.  
  59. void wypisz(int miech,int rok){
  60.  
  61. int i,j,wynik,ilosc=0,a=1;
  62. int miesiact[13]={31,29,31,30,31,30,31,31,30,31,30,31,0};
  63. int dzienk[7];
  64. char znak=' ';
  65. int wartosc=1;
  66.  
  67. for(i=1970;i<rok;++i){
  68. if(a==7){a=a-7;}
  69. else if(a==8){a=a-7;}
  70. if((i%4==0 && i%100!=0) || i%400 ==0){
  71. a=a+2;
  72. }
  73. else
  74. {
  75. a=a+1;
  76. }
  77. }
  78. if(miech>1){
  79. for(i=0;i<miech-1;++i){
  80. ilosc+=miesiact[i];
  81. }
  82. wynik=ilosc%7;
  83. a+=wynik;
  84. }
  85.  
  86. if(a==7){a=a-7;}
  87. else if(a==8){a=a-7;}
  88. else if(a==9){a=a-7;}
  89. else if(a==10){a=a-7;}
  90. else if(a==11){a=a-7;}
  91. else if(a==12){a=a-7;}
  92. else if(a==13){a=a-7;}
  93. else if(a==14){a=a-7;}
  94. else if(a==15){a=a-7;}
  95.  
  96. if(a==1){dzienk[3]=1;}
  97. if(a==2){dzienk[4]=1;}
  98. if(a==3){dzienk[5]=1;}
  99. if(a==4){dzienk[6]=1;}
  100. if(a==5){dzienk[0]=1;}
  101. if(a==6){dzienk[1]=1;}
  102. if(a==7){dzienk[2]=1;}
  103. if(a==0){dzienk[2]=1;}
  104.  
  105.  
  106. //druk
  107. printf("Pn Wt Sr Cz Pt So N");
  108. printf("\n");
  109.  
  110. i=0;
  111. while(dzienk[i]!=1){
  112. i++;
  113. printf("%c ",znak);
  114. }
  115. if(dzienk[i]==1){
  116. printf("%d ",dzienk[i]);
  117. }
  118.  
  119. for(j=i;j<miesiact[miech-1]+i-1;++j){
  120. if((j==6)||(j==13)||(j==20)||(j==27)||(j==34)||(j==41)){
  121. printf("\n");
  122. }
  123.  
  124. if(wartosc>8){
  125. wartosc++;
  126. printf("%d ",wartosc);
  127. }
  128. else
  129. {
  130. wartosc++;
  131. printf("%d ",wartosc);
  132. }
  133. }
  134. }
  135. int wprowadz_ilosc_dni_w_miesiacu(int x,int rok){
  136. if((rok%4==0 && rok%100!=0) || rok%400==0){
  137. int miesiact[12]={31,29,31,30,31,30,31,31,30,31,30,31};
  138. return miesiact[x-1];
  139. }
  140. else
  141. {
  142. int miesiact[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  143. return miesiact[x-1];
  144. }
  145. }
  146.  
  147. void Jaki_dzien_tygodnia(int dzien,int miech,int rok){
  148. int wynik,janar,poprawka,korekta;
  149.  
  150. janar=(23*miech)/9;
  151. if(miech<3){
  152. poprawka=rok-1;
  153. korekta=0;
  154. wynik=(janar+dzien+rok+4+(poprawka/4)-(poprawka/100)+(poprawka/400)-korekta)%7;
  155. }
  156. else
  157. {
  158. poprawka=rok;
  159. korekta=2;
  160. wynik=(janar+dzien+rok+4+(poprawka/4)-(poprawka/100)+(poprawka/400)-korekta)%7;
  161. }
  162. if(wynik==0){printf("Dzien %d.%d.%d to niedziela\n",dzien,miech,rok);}
  163. if(wynik==1){printf("Dzien %d.%d.%d to poniedzialek\n",dzien,miech,rok);}
  164. if(wynik==2){printf("Dzien %d.%d.%d to wtorek\n",dzien,miech,rok);}
  165. if(wynik==3){printf("Dzien %d.%d.%d to sroda\n",dzien,miech,rok);}
  166. if(wynik==4){printf("Dzien %d.%d.%d to czwartek\n",dzien,miech,rok);}
  167. if(wynik==5){printf("Dzien %d.%d.%d to piatek\n",dzien,miech,rok);}
  168. if(wynik==6){printf("Dzien %d.%d.%d to sobota\n",dzien,miech,rok);}
  169. printf("\n");
  170. }
Advertisement
Add Comment
Please, Sign In to add comment