曜日の表示
Posted: 2010年5月08日(土) 05:03
質問させて頂きます。
今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です。
お願いいたします。
今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です。
お願いいたします。