以下の問題の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(); }月を読み込んでどうするかは要求されていませんので、そのまま捨てています。