ページ 1 / 1
月日入力/結果表示
Posted: 2007年1月30日(火) 18:35
by 浅香
2006年1月1日は日曜日である。月と日を入力すると、この日をもとに曜日を出力するプログラムを作成せよ。月日の入力は「/」で区切ることにする。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【出力例】
日付を入力してください(MM/DD):12/24
12月24日は日曜日です。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
この問題についてなんですが配列を使うとは思うんですがどのようにすれば配列で○月○日は○曜日と出せれるようになるのかがわかりません
どなたかお願いします
Re:月日入力/結果表示
Posted: 2007年1月30日(火) 18:46
by バグ
文字列入力用のバッファとしては配列も必要かもしれませんが…曜日を求める為に必要かと問われたら、必要無いように思います(;^_^A
Re:月日入力/結果表示
Posted: 2007年1月30日(火) 20:39
by box
> 2006年1月1日は日曜日である。月と日を入力すると、この日をもとに曜日を出力するプログラムを作成せよ。
2006年(去年)限定版のプログラムなのですか?
こういう種類のプログラムでは、毎月の日数を管理する配列を定義するのが定石です。
去年は平年でしたので、例えば
int mdays[/url] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
のようにしておけばよいと思います。
入力した月と日をもとに、1月1日からの通算日数を計算します。
例えば、2月3日は34日目です。
つまり、1月1日の33日後ですので、4週間(=28日)と5日後です。
よって、2月3日の曜日は、日曜日の5日後、つまり金曜日です。
Re:月日入力/結果表示
Posted: 2007年1月30日(火) 21:05
by むつ
もし、汎用的なプログラムをお望みなら、
先人の知恵(公式)を利用するのも一つの方法です。
プログラムの信頼性が増したり、熟練者との会話が円滑に進みます。
Re:月日入力/結果表示
Posted: 2007年1月30日(火) 21:14
by box
> 先人の知恵(公式)を利用するのも一つの方法です。
あ、そうですね。
「Zellerの公式」あたりを調べてみるとよいかもしれません。>浅香さん
Re:月日入力/結果表示
Posted: 2007年1月31日(水) 08:59
by バグ
標準関数のmktimeを利用すれば簡単なのでは?(?_?)