ページ 11

曜日の表示

Posted: 2010年5月08日(土) 05:03
by リョウ
質問させて頂きます。
今2010年5月の日にちを記入して
その日が何曜日か答えるプログラムを作っているんですが、
記入するとき31日より上の日にち(例えば32日)を入力したら
エラーが出るプログラムを作るにはどうすればいいですか?

作りかけのソースは
#include <stdio.h>

# define BUFFER_SIZE (256)

int get_int(void)
{
char buf[BUFFER_SIZE];

fgets(buf, BUFFER_SIZE, stdin);

return atoi(buf);
}
int main(void)
{
int a,b;
printf("措定する年月は2010年5月です。\n");
printf("日付は?: ");
a = get_int();
b = (a + 6 - 1) % 7;
switch(b)
{
case 0:
printf("2010年5月%d日は日曜日です\n",a);
break;
case 1:
printf("2010年5月%d日は月曜日です\n",a);
break;
case 2:
printf("2010年5月%d日は火曜日です\n",a);
break;
case 3:
printf("2010年5月%d日は水曜日です\n",a);
break;
case 4:
printf("2010年5月%d日は木曜日です\n",a);
break;
case 5:
printf("2010年5月%d日は金曜日です\n",a);
break;
case 6:
printf("2010年5月%d日は土曜日です\n",a);
break;
  }

return 0;
}
です。
osはlinux
コンパイラはgccです。
お願いいたします。

Re:曜日の表示

Posted: 2010年5月08日(土) 06:40
by toyo
値の判定には if 文を使います。
日本語にすれば”もし”文ですね。
もし a が 31 より大きければ "error" を表示する
というのをプログラムに変えると
if (a > 31) { printf("error"); }
のようになります。

Re:曜日の表示

Posted: 2010年5月08日(土) 07:22
by リョウ
わかりました。
switchではなくてifを使えばいいんですね!
ありがとうございます。