質問編集履歴
1
追記部分
title
CHANGED
File without changes
|
body
CHANGED
@@ -305,4 +305,89 @@
|
|
305
305
|
7 8 9
|
306
306
|
10 11 12
|
307
307
|
|
308
|
-
このように表示したりしたいのですが、アドバイス頂けると幸いです。
|
308
|
+
このように表示したりしたいのですが、アドバイス頂けると幸いです。
|
309
|
+
|
310
|
+
|
311
|
+
|
312
|
+
-----追記-------
|
313
|
+
|
314
|
+
```c
|
315
|
+
//カレンダーを表示する
|
316
|
+
void calendarprint(char calendar[N_MONTH][ROW_SIZE][N_WEEK], int year, int display) {
|
317
|
+
|
318
|
+
int month; //月のループ
|
319
|
+
int row; //週のループ
|
320
|
+
int col;//曜日のループ
|
321
|
+
|
322
|
+
|
323
|
+
printf("%5d年\n", year); // 入力された年を表示
|
324
|
+
|
325
|
+
for (month = JAN; month <= DEC; month+=display) {
|
326
|
+
for (int m = month, dis = 0; m < N_MONTH && dis < display; m++, dis++) {
|
327
|
+
|
328
|
+
printf(" %2d月 ", m + 1);
|
329
|
+
}
|
330
|
+
printf("\n\n");
|
331
|
+
for (int m = month, dis = 0; m < N_MONTH && dis < display; m++, dis++) {
|
332
|
+
for (int i = 0; i <= SAT; i++) {
|
333
|
+
|
334
|
+
printf(" %2s ", weeks[i]); //曜日の表示
|
335
|
+
if (i == SAT) {
|
336
|
+
printf(" ");
|
337
|
+
}
|
338
|
+
}
|
339
|
+
}
|
340
|
+
printf("\n");
|
341
|
+
|
342
|
+
for (row = 0; row < ROW_SIZE; row++) {
|
343
|
+
printf("\n");
|
344
|
+
for(int m = month, dis = 0; m < N_MONTH && dis < display; m++, dis++){
|
345
|
+
|
346
|
+
for (col = 0; col <= SAT; col++) {
|
347
|
+
|
348
|
+
if (calendar[month][row][col] != 0) //日数が0でなければ
|
349
|
+
{
|
350
|
+
|
351
|
+
if (calendar[month][row][col] & HOLI_MARK) {
|
352
|
+
printf("*");
|
353
|
+
}
|
354
|
+
else if (calendar[month][row][col] & TRANS_MARK) {
|
355
|
+
printf("+");
|
356
|
+
}
|
357
|
+
else if (calendar[month][row][col] & BIRTH_MARK) {
|
358
|
+
printf("&");
|
359
|
+
}
|
360
|
+
else {
|
361
|
+
|
362
|
+
printf(" ");
|
363
|
+
}
|
364
|
+
printf("%2d ", calendar[month][row][col] & 0x1F);
|
365
|
+
}
|
366
|
+
else { //日数が0なら
|
367
|
+
printf(" ");
|
368
|
+
}
|
369
|
+
if (col == SAT) {
|
370
|
+
|
371
|
+
printf(" ");
|
372
|
+
}
|
373
|
+
}
|
374
|
+
}
|
375
|
+
printf("\n");
|
376
|
+
}
|
377
|
+
printf("\n");
|
378
|
+
}
|
379
|
+
}
|
380
|
+
|
381
|
+
```
|
382
|
+
|
383
|
+
カレンダーを表示の部分を回答を参考に自分なりに書いてみました。
|
384
|
+
|
385
|
+
しかし、表示の仕方を
|
386
|
+
|
387
|
+
1 2 7 8
|
388
|
+
3 4 9 10
|
389
|
+
5 6 11 12
|
390
|
+
|
391
|
+
上記ののように表示をしたいのですが、なかなかうまくいきません。
|
392
|
+
|
393
|
+
追加でアドバイス頂けると幸いです。
|