View difference between Paste ID: 44nLzGDb and xuq9sekn
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
	}