C/C++の宿題のまとめ@Wiki

万年カレンダー2 - 3段表示

最終更新:

匿名ユーザー

- view
管理者のみ編集可
79 :デフォルトの名無しさん :2005/10/29(土) 19:14:22
[1] 授業単元: 情報特講
[2] 問題文(含コード&リンク):
キーボードから年月を入力し、その月のカレンダーを作成しなさい。
また、月の入力が0であるときは1年分3ヶ月ずつ横に出力する。
年号は西暦で1900年から2100年の間のみ指定する。
さらに、閏年は4の倍数で100の倍数でない年。
ただ、400の倍数は閏年となる。
また、1900年1月1日は月曜日である。また、関数は1つ以上使用すること。

出力例 :
年 : 1994
月 : 3

=== 1994 3月 ===
日 月 火 水 木 金 土
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

[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: bcc
 [3.3] 言語: C
[4] 期限: 2005年10月31日12:00まで
[5] その他の制限: 特にはありません。
よろしくおねがいします。

80 :デフォルトの名無しさん :2005/10/29(土) 19:18:58
>>79
似たような問題がこのスレにあるから改造なさい

81 :デフォルトの名無しさん :2005/10/29(土) 20:04:13
>>80
>>28ですよね。一年分を出力する所まではできたのですが、
一年分出力する 部分がどうしてもわからないんです。
ttp://www.asahi-net.or.jp/~qb3k-kwsk/rpg/program/c/tutorial/t02h.html
一か月分は↑ここで見つけました。
どうか、おねがいします。

82 :デフォルトの名無しさん :2005/10/29(土) 20:58:28
いつも思うのだが、うるう年の説明はややこしい。

順番代えただけだが、次のような説明のほうがわかりやすくないか?
1)400で割り切れる年はうるう年
2)1に当てはまらなく、100で割り切れる年は平年
3)1、2に当てはまらなく4で割り切れる年はうるう年


83 :デフォルトの名無しさん :2005/10/29(土) 21:04:44
400年に1度しかないのにそんな前面に出して主張されてもな、遭遇する価値がほとんど無い。
現代人は稀有で2000年を体験したが。

84 :デフォルトの名無しさん :2005/10/29(土) 23:08:52
>>79
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1029.c

85 :デフォルトの名無しさん :2005/10/30(日) 10:18:27
>>84
ずいぶん遅くなりましたが、本当にありがとうございました。
相当難しいですけれど、頑張ってみます。

86 :デフォルトの名無しさん :2005/10/30(日) 11:33:10
>82
地球の公転周期の近似365.2422日≒365+1/4-1/100+1/400

4年に一度うるう年
でも西暦が100で割り切れる年はうるう年としない
但し400で割り切れる年はうるう年とする

で結構

87 :デフォルトの名無しさん :2005/10/30(日) 16:54:10
もうめんどくさいから、1900年から2100年までは4年に一度閏年ってことでいいよ。

88 :デフォルトの名無しさん :2005/10/30(日) 17:02:13
>>87
2000年が違う。

89 :デフォルトの名無しさん :2005/10/30(日) 17:02:50
あっ、逆だわ、1900年と2100年が違う。

90 :デフォルトの名無しさん :2005/10/30(日) 17:25:48
訂正、1901年から2099年まで……

91 :デフォルトの名無しさん :2005/10/30(日) 18:45:49
みんな、うるう年のことになると語るねぇ!

92 :デフォルトの名無しさん :2005/10/30(日) 18:52:39
zellerの公式

93 :デフォルトの名無しさん :2005/10/30(日) 21:06:08
>>92
これが過去のある年代を超えると通用しなくなるんだよな。
なんでだったかな?

94 :デフォルトの名無しさん :2005/10/30(日) 21:16:19
>>93
その「過去のある年代以前」を考えに入れてないからだろ。

95 :デフォルトの名無しさん :2005/10/30(日) 21:21:45
>>93
そもそも暦が連続してないから

96 :デフォルトの名無しさん :2005/10/30(日) 21:22:23
いまいち面白くないなぁ

97 :デフォルトの名無しさん :2005/10/30(日) 21:26:23
>>96
鏡でも見てみろ 面白いものが写るぜ

98 :デフォルトの名無しさん :2005/10/30(日) 21:27:24
>>95
>>93です。詳しく!

99 :デフォルトの名無しさん :2005/10/30(日) 21:29:04
>>97
君の場合は面白いものが写るのか…ドンマイ!

100 :デフォルトの名無しさん :2005/10/30(日) 21:31:04
日本で西暦が適用されたのが1800年代だからとかか?

101 :デフォルトの名無しさん :2005/10/30(日) 21:31:51
いまいち面白くないなぁ

102 :デフォルトの名無しさん :2005/10/30(日) 21:38:50
>>95
>>93です。調べてたらその理由がわかりました。
どうもありがとうございました。

103 :デフォルトの名無しさん :2005/10/30(日) 22:01:45
厳密に解釈するなら、国コードを見て暦を変えないといけないわけだ。
だからめんどいから1901年かr(以下略

104 :デフォルトの名無しさん :2005/10/30(日) 22:15:56
グレゴリオ暦→1582→現代

105 :デフォルトの名無しさん :2005/10/30(日) 22:26:37
うーん雑学本で年表の比較が載ってる本が出版されてた気がするんだが。
いや、ほんの一部じゃなくって、主題がそれって本なんだが・・・一度読んでみたかった。

106 :デフォルトの名無しさん :2005/10/30(日) 23:45:39
>>104
英国がやや遅れて、ロシアが大幅に遅れて採用したので一概に1582年とは言えない罠。
目安箱バナー