Carnby1021

Untitled

Mar 11th, 2016
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.     }
Add Comment
Please, Sign In to add comment