SHOW:
|
|
- or go back to the newest paste.
| 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 | } |