Если есть желание узнать номер дня (0 - 366), когда известен год, месяц и число
или узнать, какой это месяц и число, указывая номер дня.
А так же, можно узнать повторяемость календарей.
Писал на украинском языке,
переводить не стал (не уверен, что кому то интересно).
Кликните здесь для просмотра всего текста
| C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
| #include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#define out printf
#define end printf("\n")
#define Enter 13
#define BackSpace 8
#define Space 32
#define Beginning_of_years -1
#define End_of_years 9999 // 2021
#define Years End_of_years-Beginning_of_years
// ПОНЕДІЛОК, ВІВТОРОК, СЕРЕДА, ЧЕТВЕР, П'ЯТНИЦЯ, СУБОТА, НЕДІЛЯ
enum {MONDAY=1, TUESDAY, WEDNESDAY,THURSDAY,FRIDAY, SATURDAY, SUNDAY};
// Січень, Лютий, Березень
enum {January=1,February,March,
// Квітень,Травень,Червень
April, May, June,
// Липень,Серпень,Вересень,
July, August, September,
// Жовтень,Листопад,Грудень
October,November,December};
enum {F1=59,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11=133,F12};
int ConversionToNumber_F1_F12(int key)
{
if(key >= 59 && key <= 68)return key-58;
else if(key == 133 || key == 134)return key-122;
else return 0;
}
void PrintWeeks(int number_of_the_week)
{
switch(number_of_the_week)
{
case MONDAY: system("echo ПОНЕДiЛОК ");break;
case TUESDAY: system("echo BiBTOPOK ");break;
case WEDNESDAY: system("echo CEPEДA ");break;
case THURSDAY: system("echo ЧETBEP ");break;
case FRIDAY: system("echo П'ЯTHUЦЯ ");break;
case SATURDAY: system("echo CУБOTA ");break;
case SUNDAY: system("echo HEДiЛЯ ");break;
}
}
#define Until_January 31 // Січень
#define Until_February 31+28 // Лютий
#define Until_March 31+28+31 // Березень
#define Until_April 31+28+31 +30 // Квітень
#define Until_May 31+28+31 +30+31 // Травень
#define Until_June 31+28+31 +30+31+30 // Червень
#define Until_July 31+28+31 +30+31+30 +31 // Липень
#define Until_August 31+28+31 +30+31+30 +31+31 // Серпень
#define Until_September 31+28+31 +30+31+30 +31+31+30 // Вересень
#define Until_October 31+28+31 +30+31+30 +31+31+30 +31 // Жовтень
#define Until_November 31+28+31 +30+31+30 +31+31+30 +31+30 // Листопад
// Грудень
int DaysOfTheMonth(int Moon)
{
switch(Moon)
{
case January: return 31;
case February: return 28;
case March: return 31;
case April: return 30;
case May: return 31;
case June: return 30;
case July: return 31;
case August: return 31;
case September: return 30;
case October: return 31;
case November: return 30;
case December: return 31;
}
}
int DetermineTheK_day(int Moon,int Day,int days_a_year)
{
int extra_day = (days_a_year == 366)? 1 : 0;
switch(Moon)
{
case January: return Day;
case February: return Until_January + Day;
case March: return Until_February + Day+extra_day;
case April: return Until_March + Day+extra_day;
case May: return Until_April + Day+extra_day;
case June: return Until_May + Day+extra_day;
case July: return Until_June + Day+extra_day;
case August: return Until_July + Day+extra_day;
case September: return Until_August + Day+extra_day;
case October: return Until_September+ Day+extra_day;
case November: return Until_October + Day+extra_day;
case December: return Until_November + Day+extra_day;
}
}
void PrintMoon(int number_of_the_moon)
{
switch(number_of_the_moon)
{
case January: system("echo CiЧEHЬ ");break;
case February: system("echo ЛЮTИЙ ");break;
case March: system("echo БEPEЗEHЬ ");break;
case April: system("echo KBiTEHЬ ");break;
case May: system("echo TPABEHЬ ");break;
case June: system("echo ЧEPBEHЬ ");break;
case July: system("echo ЛИПEHЬ ");break;
case August: system("echo CEPПEHЬ ");break;
case September: system("echo BEPECEHЬ ");break;
case October: system("echo ЖOBTEHЬ ");break;
case November: system("echo ЛИCTOПAД ");break;
case December: system("echo ГPУДEHЬ ");break;
}
}
int DetermineTheMoon(int K_day,int days_a_year)
{
int extra_day=(days_a_year == 366)? 1 : 0;
if(K_day <= Until_January) return January;
else if(K_day <= Until_February + extra_day)return February;
else if(K_day <= Until_March + extra_day)return March;
else if(K_day <= Until_April + extra_day)return April;
else if(K_day <= Until_May + extra_day)return May;
else if(K_day <= Until_June + extra_day)return June;
else if(K_day <= Until_July + extra_day)return July;
else if(K_day <= Until_August + extra_day)return August;
else if(K_day <= Until_September +extra_day)return September;
else if(K_day <= Until_October + extra_day)return October;
else if(K_day <= Until_November + extra_day)return November;
else return December;
}
int DetermineTheNumber(int K_day,int days_a_year)
{
int extra_day=(days_a_year == 366)? 1 : 0;
if(K_day <= Until_January) return K_day;
else if(K_day <= Until_February + extra_day)return K_day-Until_January;
else if(K_day <= Until_March + extra_day)return K_day-(Until_February +extra_day);
else if(K_day <= Until_April + extra_day)return K_day-(Until_March +extra_day);
else if(K_day <= Until_May + extra_day)return K_day-(Until_April +extra_day);
else if(K_day <= Until_June + extra_day)return K_day-(Until_May +extra_day);
else if(K_day <= Until_July + extra_day)return K_day-(Until_June +extra_day);
else if(K_day <= Until_August + extra_day)return K_day-(Until_July +extra_day);
else if(K_day <= Until_September +extra_day)return K_day-(Until_August +extra_day);
else if(K_day <= Until_October + extra_day)return K_day-(Until_September +extra_day);
else if(K_day <= Until_November + extra_day)return K_day-(Until_October +extra_day);
else return K_day-(Until_November +extra_day);
}
char weeks[Years][367]={0};
void Week_K_day(int Week,int K_day)
{
for (int year =- 1,No_Day = 1; ++year < Years;No_Day=1)
{
int days_a_year=(year%4)?365:366;
int Moon=DetermineTheMoon(K_day,days_a_year);
for(;No_Day <= days_a_year;++No_Day)
{
if(weeks[year][K_day] == Week
&&
DetermineTheMoon(K_day,days_a_year) == Moon
&&
No_Day == K_day
)
{
out("\n PiK = %4i",year+Beginning_of_years+1);
out(" %i",DetermineTheNumber(K_day,days_a_year));
}
}
}
}
void Week_Moon(int Week,int Moon,int Day)
{
for (int year = -1,No_Day = 1; ++year < Years;No_Day = 1)
{
int days_a_year = (year % 4)? 365 : 366;
int K_day=DetermineTheK_day(Moon,Day,days_a_year);
for(;No_Day <= days_a_year;++No_Day)
{
if(weeks[year][K_day] == Week
&&
DetermineTheMoon(K_day,days_a_year) == Moon
&&
No_Day == K_day
)
{
out("\n PiK = %4i",year+Beginning_of_years+1);
}
}
}
}
void Year_Moon_Day(int Year,int Moon,int Day)
{
int days_a_year = (Year%4)? 365 : 366;
int No_Day = DetermineTheK_day(Moon,Day,days_a_year);
out("\n No_Day = %i",No_Day);
out("\n Week =");PrintWeeks(weeks[Year][No_Day]);
}
void Year_No_Day(int Year,int No_Day)
{
int days_a_year = (Year%4)? 365 : 366;
out("\n Week =");PrintWeeks(weeks[Year][No_Day]);
}
int in()
{
int key;
char cArr[5]={0};
for(int count=0;;)
{
key=getch();
if(count<4 && 47<key && key<58)
{
out("%c",key);
cArr[count++]=key;
}
else if(key==BackSpace && count>0)
{
cArr[--count]=Space;
out("%c",BackSpace);
out("%c",Space);
out("%c",BackSpace);
}
else if(key==Enter)break;
}
return atoi(cArr);
}
int Choice_F1_F12(int End_F)
{
int Number_F=13,Key;
for(;!Number_F || Number_F > End_F;)
{
Key = getch();
if(Key == 0 || Key == 224)Key = getch();
Number_F = ConversionToNumber_F1_F12(Key);
}
return Number_F;
}
int Choice_F1_F2()
{
int Key;
for(;;)
{
Key = getch();
if(Key == 0 || Key == 224)
{
Key = getch();
if(Key == F1 || Key == F2)return Key;
}
}
}
int GetANumberInTheRange(int Beginning,int End,char *message)
{
int Number;
out("\n %s",message);
for(;;)
{
Number=in();
if(Number > Beginning && Number <= End)break;
else out(" BBEDiTb yKA3AHUu DiAnA3OH: %i - %i",Beginning,End),
out("\n %s",message);
}
return Number;
}
int main()
{
unsigned long week_counter=4;
for (int year=-1,K_day=1; ++year<Years; K_day=1)
{
int days_a_year=(year%4)? 365: 366;
for(;K_day<=days_a_year;)
{
weeks[year][K_day++]=(week_counter++ %7)+1;
}
// out("\n B PIK == %4i",year+Beginning_of_years+1);
// out("\t DHiB == %3i",days_a_year);
// if(days_a_year%366)out(" ");
// else out("_");
}
int Moon = 0, Week = 0, No_Day = 0, Year = -1;// year_week,
system("echo ПPOГPAMA ПO BИЗHAЧEHHЮ POKУ AБO ДHЯ TИЖHЯ."),end;
system("echo ЩО ВИБИРАЄТЕ ВВЕСТИ ?"),end;
out(" F %i - ",1);system("echo TИЖДEHЬ");
out(" F %i - ",2);out(" PiK\n");
end;
if(Choice_F1_F2() == F1)
{
system("echo BИБEPiTЬ TИЖДEHЬ:"),end;
for(int count = 1; count < 8; ++count)
{
out(" F %i - ",count);PrintWeeks(count);
}
Week = Choice_F1_F12(SUNDAY);
out("\n Week = %i",Week); PrintWeeks(Week),end;
}
else
{
out("\n BBEDiTb yKA3AHUu DiAnA3OH: %i - %4i",Beginning_of_years+1,End_of_years);
Year = GetANumberInTheRange(Beginning_of_years+1,End_of_years,"Year = ");end;end;
}
system("echo ЩО ВИБИРАЄТЕ ВВЕСТИ ?"),end;
out(" F 1 - "); system("echo НОМЕР ДНЯ");
out(" F 2 - "); system("echo MiCЯЦЬ");end;
if(Choice_F1_F2() == F2)
{
system("echo BИБEPiTЬ MiCЯЦЬ:"),end;
for(int count = 1; count < 13; ++count)
{
out(" F%2i - ",count); PrintMoon(count);
if(!(count % 3))out("\n");
}
Moon = Choice_F1_F12(December);
out(" Moon = %2i",Moon),PrintMoon(Moon);
int Day, days_of_the_month = DaysOfTheMonth(Moon);
out("\n BBEDiTb yKA3AHUu DiAnA3OH: 1 - %2i \n",days_of_the_month);
Day = GetANumberInTheRange(0,days_of_the_month," Day = ");
if(Year == -1)
{
Week_Moon(Week,Moon,Day);
out("\n\n Week ="),PrintWeeks(Week);
out(" Moon ="),PrintMoon(Moon);
out(" Day = %i",Day);
}
else
{
Year_Moon_Day(Year,Moon,Day);
}
}
else
{
system("echo BBEДiTЬ No_Day (HOMEP ДHЯ) BiД 1-366:");
No_Day = GetANumberInTheRange(0,366,"No_Day = ");
if(Year == -1)
{
Week_K_day(Week,No_Day);
out("\n\n Week ="),PrintWeeks(Week);
out(" No_Day = %i",No_Day);
}
else
{
out("\n Year = %i",Year);
Year_No_Day(Year,No_Day);
}
}
end;
getch();
return 0;
} |
|
Переработал:
Например, добавил возможность узнать какой это месяц и какой примерно день, указав лишь номер дня.
Кликните здесь для просмотра всего текста
| C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
| #include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#define out printf
#define end printf("\n")
#define Enter 13
#define BackSpace 8
#define Space 32
#define Beginning_of_years -1
#define End_of_years 9999 // 2021 //
#define Years End_of_years-Beginning_of_years
// ПОНЕДІЛОК, ВІВТОРОК, СЕРЕДА, ЧЕТВЕР, П'ЯТНИЦЯ, СУБОТА, НЕДІЛЯ
enum {MONDAY=1, TUESDAY, WEDNESDAY,THURSDAY,FRIDAY, SATURDAY, SUNDAY};
// Січень, Лютий, Березень
enum {January=1,February,March,
// Квітень,Травень,Червень
April, May, June,
// Липень,Серпень,Вересень,
July, August, September,
// Жовтень,Листопад,Грудень
October,November,December};
enum {F1=59,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11=133,F12};
int ConversionToNumber_F1_F12(int key)
{
if(key >= 59 && key <= 68)return key-58;
else if(key == 133 || key == 134)return key-122;
else return 0;
}
void PrintWeeks(int number_of_the_week)
{
switch(number_of_the_week)
{
case MONDAY: system("echo ПОНЕДiЛОК ");break;
case TUESDAY: system("echo BiBTOPOK ");break;
case WEDNESDAY: system("echo CEPEДA ");break;
case THURSDAY: system("echo ЧETBEP ");break;
case FRIDAY: system("echo П'ЯTHUЦЯ ");break;
case SATURDAY: system("echo CУБOTA ");break;
case SUNDAY: system("echo HEДiЛЯ ");break;
}
}
#define Until_January 31 // Січень
#define Until_February 31+28 // Лютий
#define Until_March 31+28+31 // Березень
#define Until_April 31+28+31 +30 // Квітень
#define Until_May 31+28+31 +30+31 // Травень
#define Until_June 31+28+31 +30+31+30 // Червень
#define Until_July 31+28+31 +30+31+30 +31 // Липень
#define Until_August 31+28+31 +30+31+30 +31+31 // Серпень
#define Until_September 31+28+31 +30+31+30 +31+31+30 // Вересень
#define Until_October 31+28+31 +30+31+30 +31+31+30 +31 // Жовтень
#define Until_November 31+28+31 +30+31+30 +31+31+30 +31+30 // Листопад
// Грудень
int DaysOfTheMonth(int Moon)
{
switch(Moon)
{
case January: return 31;
case February: return 28;
case March: return 31;
case April: return 30;
case May: return 31;
case June: return 30;
case July: return 31;
case August: return 31;
case September: return 30;
case October: return 31;
case November: return 30;
case December: return 31;
}
}
int DetermineTheK_day(int Moon,int Day,int days_a_year)
{
int extra_day = (days_a_year == 366)? 1 : 0;
switch(Moon)
{
case January: return Day;
case February: return Until_January + Day;
case March: return Until_February + Day+extra_day;
case April: return Until_March + Day+extra_day;
case May: return Until_April + Day+extra_day;
case June: return Until_May + Day+extra_day;
case July: return Until_June + Day+extra_day;
case August: return Until_July + Day+extra_day;
case September: return Until_August + Day+extra_day;
case October: return Until_September+ Day+extra_day;
case November: return Until_October + Day+extra_day;
case December: return Until_November + Day+extra_day;
}
}
void PrintMoon(int number_of_the_moon)
{
switch(number_of_the_moon)
{
case January: system("echo CiЧEHЬ ");break;
case February: system("echo ЛЮTИЙ ");break;
case March: system("echo БEPEЗEHЬ ");break;
case April: system("echo KBiTEHЬ ");break;
case May: system("echo TPABEHЬ ");break;
case June: system("echo ЧEPBEHЬ ");break;
case July: system("echo ЛИПEHЬ ");break;
case August: system("echo CEPПEHЬ ");break;
case September: system("echo BEPECEHЬ ");break;
case October: system("echo ЖOBTEHЬ ");break;
case November: system("echo ЛИCTOПAД ");break;
case December: system("echo ГPУДEHЬ ");break;
}
}
int DetermineTheMoon(int K_day,int days_a_year)
{
int extra_day=(days_a_year == 366)? 1 : 0;
if(K_day <= Until_January) return January;
else if(K_day <= Until_February + extra_day)return February;
else if(K_day <= Until_March + extra_day)return March;
else if(K_day <= Until_April + extra_day)return April;
else if(K_day <= Until_May + extra_day)return May;
else if(K_day <= Until_June + extra_day)return June;
else if(K_day <= Until_July + extra_day)return July;
else if(K_day <= Until_August + extra_day)return August;
else if(K_day <= Until_September +extra_day)return September;
else if(K_day <= Until_October + extra_day)return October;
else if(K_day <= Until_November + extra_day)return November;
else return December;
}
int DetermineTheNumber(int K_day,int days_a_year)
{
int extra_day=(days_a_year == 366)? 1 : 0;
if(K_day <= Until_January) return K_day;
else if(K_day <= Until_February + extra_day)return K_day-Until_January;
else if(K_day <= Until_March + extra_day)return K_day-(Until_February +extra_day);
else if(K_day <= Until_April + extra_day)return K_day-(Until_March +extra_day);
else if(K_day <= Until_May + extra_day)return K_day-(Until_April +extra_day);
else if(K_day <= Until_June + extra_day)return K_day-(Until_May +extra_day);
else if(K_day <= Until_July + extra_day)return K_day-(Until_June +extra_day);
else if(K_day <= Until_August + extra_day)return K_day-(Until_July +extra_day);
else if(K_day <= Until_September +extra_day)return K_day-(Until_August +extra_day);
else if(K_day <= Until_October + extra_day)return K_day-(Until_September +extra_day);
else if(K_day <= Until_November + extra_day)return K_day-(Until_October +extra_day);
else return K_day-(Until_November +extra_day);
}
char weeks[Years][367]={0};
int Week_K_day(int Week,int K_day)
{
int Moon;
for (int year =- 1,No_Day = 1; ++year < Years;No_Day=1)
{
int days_a_year=(year%4)?365:366;
Moon=DetermineTheMoon(K_day,days_a_year);
for(;No_Day <= days_a_year;++No_Day)
{
if(weeks[year][K_day] == Week
&&
DetermineTheMoon(K_day,days_a_year) == Moon
&&
No_Day == K_day
)
{
out("\n PiK = %4i",year+Beginning_of_years+1);
out(" %i",DetermineTheNumber(K_day,days_a_year));
}
}
}
return Moon;
}
int Week_Moon(int Week,int Moon,int Day)
{
int K_day;
for (int year = -1,No_Day = 1; ++year < Years;No_Day = 1)
{
int days_a_year = (year % 4)? 365 : 366;
K_day=DetermineTheK_day(Moon,Day,days_a_year);
for(;No_Day <= days_a_year;++No_Day)
{
if(weeks[year][K_day] == Week
&&
DetermineTheMoon(K_day,days_a_year) == Moon
&&
No_Day == K_day
)
{
out("\n PiK = %4i",year+Beginning_of_years+1);
out(" %i",DetermineTheNumber(K_day,days_a_year));
}
}
}
return K_day;
}
void Year_Moon_Day(int Year,int Moon,int Day)
{
int days_a_year = (Year%4)? 365 : 366;
int No_Day = DetermineTheK_day(Moon,Day,days_a_year);
out("\n No_Day = %i",No_Day);
out("\n Week =");PrintWeeks(weeks[Year][No_Day]);
out(" PiK = %4i",Year+Beginning_of_years+1);
(days_a_year==366)?system("echo BИCOKOCHИЙ"):system("echo HE BИCOKOCHИЙ");
}
void Year_No_Day(int Year,int No_Day)
{
out(" Week =");PrintWeeks(weeks[Year][No_Day]);
}
int in()
{
int key;
char cArr[5]={0};
for(int count=0;;)
{
key=getch();
if(count<4 && 47<key && key<58)
{
out("%c",key);
cArr[count++]=key;
}
else if(key==BackSpace && count>0)
{
cArr[--count]=Space;
out("%c",BackSpace);
out("%c",Space);
out("%c",BackSpace);
}
else if(key==Enter)break;
}
return atoi(cArr);
}
int Choice_F1_F12(int End_F)
{
int Number_F=13,Key;
for(;!Number_F || Number_F > End_F;)
{
Key = getch();
if(Key == 0 || Key == 224)Key = getch();
Number_F = ConversionToNumber_F1_F12(Key);
}
return Number_F;
}
int Choice_F1_F2()
{
int Key;
for(;;)
{
Key = getch();
if(Key == 0 || Key == 224)
{
Key = getch();
if(Key == F1 || Key == F2)return Key;
}
}
}
int GetANumberInTheRange(int Beginning,int End,char *message)
{
int Number;
out("\n %s",message);
for(;;)
{
Number=in();
if(Number > Beginning && Number <= End)break;
else out(" BBEDiTb yKA3AHUu DiAnA3OH: %i - %i",Beginning,End),
out("\n %s",message);
}
return Number;
}
int main()
{
unsigned long week_counter=4;
for (int year=-1,K_day=1; ++year<Years; K_day=1)
{
int days_a_year=(year%4)? 365: 366;
for(;K_day<=days_a_year;)
{
weeks[year][K_day++]=(week_counter++ %7)+1;
}
// out("\n B PIK == %4i",year+Beginning_of_years+1);
// out("\t DHiB == %3i",days_a_year);
// if(days_a_year%366)out(" ");
// else out("_");
}
int Moon = 0, Week = 0, No_Day = 0, Year = -1;// year_week,
system("echo ПPOГPAMA ПO BИЗHAЧEHHЮ POKУ AБO ДHЯ TИЖHЯ."),end;
system("echo ЩО ВИБИРАЄТЕ ВВЕСТИ ?"),end;
out(" F %i - ",1);system("echo TИЖДEHЬ");
out(" F %i - ",2);out(" PiK\n");
end;
if(Choice_F1_F2() == F1)
{
system("echo BИБEPiTЬ TИЖДEHЬ:"),end;
for(int count = 1; count < 8; ++count)
{
out(" F %i - ",count);PrintWeeks(count);
}
Week = Choice_F1_F12(SUNDAY);
out("\n Week = %i",Week); PrintWeeks(Week),end;
}
else
{
out("\n BBEDiTb yKA3AHUu DiAnA3OH: %i - %4i",Beginning_of_years+1,End_of_years);
Year = GetANumberInTheRange(Beginning_of_years+1,End_of_years,"Year = ");end;end;
}
system("echo ЩО ВИБИРАЄТЕ ВВЕСТИ ?"),end;
out(" F 1 - "); system("echo НОМЕР ДНЯ");
out(" F 2 - "); system("echo MiCЯЦЬ");end;
if(Choice_F1_F2() == F2)
{
system("echo BИБEPiTЬ MiCЯЦЬ:"),end;
for(int count = 1; count < 13; ++count)
{
out(" F%2i - ",count); PrintMoon(count);
if(!(count % 3))out("\n");
}
Moon = Choice_F1_F12(December);
out(" Moon = %2i",Moon),PrintMoon(Moon);
int Day, days_of_the_month = DaysOfTheMonth(Moon);
out("\n BBEDiTb yKA3AHUu DiAnA3OH: 1 - %2i \n",days_of_the_month);
Day = GetANumberInTheRange(0,days_of_the_month," Day = ");
if(Year == -1)
{
int No_Day = Week_Moon(Week,Moon,Day);
end;system("echo MOЖЛИBO ПРИБЛИЗНО:");
out(" Week ="),PrintWeeks(Week);
out(" Moon ="),PrintMoon(Moon);
out(" Day = %i",Day);
out("\n No_Day = %i",No_Day);
}
else
{
Year_Moon_Day(Year,Moon,Day);
}
}
else
{
system("echo BBEДiTЬ No_Day (HOMEP ДHЯ) BiД 1-366:");
No_Day = GetANumberInTheRange(0,366,"No_Day = ");
if(Year == -1)
{
int days_a_year=366;
int Moon = Week_K_day(Week,No_Day);
end;system("echo MOЖЛИBO ПРИБЛИЗНО:");
out(" Week ="),PrintWeeks(Week);
out(" Moon = "),PrintMoon(DetermineTheMoon(No_Day,days_a_year));
out(" Day = %i",DetermineTheNumber(No_Day,days_a_year));
out("\n No_Day = %i",No_Day);
}
else
{
int days_a_year=(Year%4)?365:366;
out("\n Moon = "),PrintMoon(DetermineTheMoon(No_Day,days_a_year));
out(" Day = %i\n",DetermineTheNumber(No_Day,days_a_year));
Year_No_Day(Year,No_Day);
out(" Year = %i",Year);
(days_a_year==366)?system("echo BИCOKOCHИЙ"):system("echo HE BИCOKOCHИЙ");
}
}
end;
getch();
return 0;
} |
|
|