2017-01-21 4 views
0

다음 코드를 작성했습니다. 그 기본적 5 개 변수 (A, B, C, f_a, f_b) 를 입력 f_c 계산 = f_a + (f_b는-f_a) * (CA)/(BA)의 주요 기능에[noob] 두 번째 함수 계산을 수행하는 두 번째 함수를 만드는 방법은 무엇입니까?

난 선언 주사 모든 변수, 그러면 f_c와 같은 X를 계산합니다.

질문은 어떻게 X 계산을 두 번째 함수 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); –