現在、次の課題が出ています。
課題2(2)(2-2.c)
以下を満たすプログラムを完成させよ。
(1)半径 r の値(float型)を引数として受け取り,円の面積S(float型)を計算して返す関数float circle_S(float r)を定義。
(2)半径 r の値(float型)を引数として受け取り,円周の長さL(float型)を計算して返す関数float circle_L(float r)を定義。
(3)上記2つの関数内で,引数として渡された値をチェックし,負の場合は特別な値として-1を返して,main関数でエラーメッセージを表示すること。
(4)main関数でrを入力し,上記2つの関数を呼び出して面積と円周を表示。円周率PIはdefineで3.14159と定義しておくこと。
<実行例>
半径rを入力してください: 10
面積Sは314.159(cm2)です.
円周Lは62.831(cm)です.
ほぼ完成しているのですが、(3)が分かりません。各関数で半径の値をチェックして半径 < 0ならば -1 を返すというところまではできました。けど、その値をどうやってmain関数内で受け取ってエラーメッセージを表示すればいいのか分かりません。
コード:
#include <stdio.h>
#define PI 3.14159;
float Circle_S(float r) {
if (r < 0) {
return -1;
}
float result1 = 0;
result1 = r*r*PI;
return result1;
}
float Circle_L(float r) {
if (r < 0) {
return -1;
}
float result2 = 0;
result2 = r*2*PI;
return result2;
}
int main() {
float radius = 0;
float result1 = 0;
float result2 = 0;
printf_s("半径を入力してください\n>");
scanf_s("%f",&radius);
result1 = Circle_S(radius);
result2 = Circle_L(radius);
printf_s("面積S = %f \n\n円周L = %f\n", result1, result2);
return 0;
}