2017-01-21 6 views
0

私は次のコードを書いています。 その基本的に5つの変数(A、B、C、F_A、F_B) を入力し、計算F_C = F_A +(F_B-F_A)*(CA)/(BA)[noob]どのように2番目の計算を行う2つの関数を作成するには?

メイン関数で、iが宣言され、スキャンすべての変数 私はf_cに等しいXを計算します。

質問は、Xの計算を2番目の関数calculateFreezingTempに移動する方法です。

5つの変数f_cを作成しようとしましたが失敗しました。

double calculateFreezingTemp(double); 

int main(void) 
{double a, f_a, b, f_b, c, f_c, x; 

printf("Please enter the data point A\n"); 
scanf("%lf %lf", &a, &f_a); 

printf("Please enter the data point B\n"); 
scanf("%lf %lf", &b, &f_b); 

printf("Please enter the salinity value between %f and %f\n", a, b); 
scanf("%lf", &c); 

x = f_a + ((c-a)/(b-a))*(f_b-f_a); 

f_c = calculateFreezingTemp(x); 

printf("For salinity %f ppt, Freezing Temperature is: %f\t",c, f_c);} 

double calculateFreezingTemp(double x) 
{double f_c; 

f_c=x; 

return(f_c); 

} 
+0

"失敗"?詳しく教えてください。あなたは何を正確にしましたか、何が間違っていたのですか? – Carcigenicate

+0

何が失敗したのかを詳述できますか?あなたが達成しようとしていることをあなたの質問に教えてください。 – Vishnu667

+0

calculateFreezingTemp(double x)の変数が多すぎます。 – user133174

答えて

0

あなたは 'calculateFreezingTemp' 関数への入力変数を渡すことができます。

f_c = calculateFreezingTemp(a, b, c, f_a, f_b) 

や関数に計算を移動:

double calculateFreezingTemp(double a, double b, double c, double f_a, double f_b) 
{ 
    return f_a + (f_b-f_a)*(c-a)/(b-a); 
} 
+0

functionFreezingTemp関数の引数が多すぎます – user133174

+0

最初に関数を宣言した行を調整する必要があるからです... 最初の行を 'calculateFreezingTemp(double a、double b、double c、double f_a、double f_b); ' –

関連する問題