最速怪談選手権

以下の記述は半径を実数値で入力して、円の面積を計算し表示するプログラムを関数を多用して作成しているところである。リストに書かれた指針(/* */に書かれた内容)に沿って口内に正しい字句を記入せよ。
#include <stdio.h>
/*「半径を入力してください」というメッセージだけを画面に表示する関数のプロトタイプ宣言:関数名はmessageとする*/
void message(void);
/*実数値の半径をキーボードから読み込み、その値を戻り値として返す事だけをする関数のプロトタイプ宣言:関数名はhankeiとする*/
double hankei(void);
/*半径を引数として受け取り、円の面積を計算してその結果を戻り値として返す事だけをする関数のプロトタイプ宣言:関数名はmensekiとする*/
double menseki(double r);
/*円の面積を引数として受け取り、その値を「面積は○○です。」とだけ画面に表示する関数のプロトタイプ宣言:関数名はhyoujiとする*/
void hyouji(double s);
/*メイン関数の定義*/
int main(void){
double r;
double s;
message ();
r=hankei ();
s=menseki (r);
hyouji (s);
return(0);
}
/*メイン関数定義終了*/

/*関数messageの本体定義*/
void message(void){
puts("半径を入力してください");
return(0);
}

/*関数hankeiの本体定義*/
double hankei(void){
double r;
scanf("%lf",&r);
return(r);
}

/*関数mensekiの本体定義*/
double menseki(double r){
return(r*r*3.14);
}

/*関数hyoujiの本体定義*/
void hyouji(double s){
printf("面積は%lfです\n",s);
return();
}
で合ってますか?
おかしい箇所があればご指摘お願いします。

A 回答 (3件)

間違ってる.

    • good
    • 0

>で合ってますか?


Unitテストを実装するとよいですよ。
menseki()の戻り値と正答値を比較するとか。
マイナス値いれた場合とか。
No.1さんも書いてますが、テスト手法を考慮することで「合ってるか」を具体的に検証できます。

https://ja.wikipedia.org/wiki/%E5%8D%98%E4%BD%93 …

あと、コンパイルエラーが出ますね。
https://www.ideone.com/NGO4BK
https://paiza.io/projects/kIiQC5C3ZBLnFsvqUrvzxQ
    • good
    • 0

このさ、連投される「合ってますか?」って、これほど意味のない質問もねぇんだけど。


誰も指摘しなかった?わけじゃないでしょ?

プログラムってのは「思った通りに動けば」合ってるし、そうじゃなければ合ってない、って「だけの」モノなのです。
従って、他人に「合ってるか」どうか訊くとか、くだらなすぎてお話にならん、って思います。

貴方のパソコンとコンパイラに、合ってるかどうか聞いて下さい。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!