以下の問題のC言語のプログラミングがわかりません。教えてください。
・生まれた月を読み込むプログラムを作成せよ。
尚、以下のプロントタイプ宣言により示される関数を作成し、これを用いること。
int get_month(void);
ここで、関数 get_monthは、月を読み込み、その値を返す関数である。尚、関数 get_monthでは、0以下または13以上の値が入力された場合は再入力を促し、1以上12以下の値が入力されるまで処理を繰り返させること。
教えてください。part2
-
たかぎ
Re:教えてください。part2
> 以下のプロントタイプ宣言により示される関数を作成し、
プロントタイプ宣言とは?
それはおいておいて、こんな感じでしょうか?
プロントタイプ宣言とは?
それはおいておいて、こんな感じでしょうか?
#include <stdio.h>
#include <stdlib.h>
int get_month(void)
{
char s[3];
retry:
if (scanf(" %2[0123456789]", s) == 1)
{
long month = strtol(s, NULL, 10);
if (1 <= month && month <= 12)
return month;
}
scanf("%*[^\n]");
goto retry;
}
int main(void)
{
get_month();
}
月を読み込んでどうするかは要求されていませんので、そのまま捨てています。