2013-04-18 4 views
-2

두 온도의 차이를 찾는 함수가 있습니다. 먼저 섭씨와 약 화씨를 출력 한 다음 그 차이를 찾아서 인쇄합니다. 내 문제는 프로그램을 실행할 때 발생하는 모든 것입니다. 차이에 대한 출력은 모든 것에 대해 58입니다.두 온도의 차이 찾기

어디는 ​​다음과 같이 출력한다 같이

C----AF----Diff 
1----32----31 
2----34----32 

내 코드 : 당신은 화씨를 섭씨로 변환하는 기능을 필요

void calDiff(int& cel, int& appFar, int diff){ 
while(cel!= 101){ 
    diff = appFar - cel; 
    cout << diff << endl; 
    cel++; 
    appFar++; 
} 
} 
+3

이것은 수학 오류입니다. :) 둘 다 증가하면 차이가 그대로 유지됩니다. – stardust

+0

코드에서 '58'은 모든 것이 옳다. – gongzhitaao

+0

@ user2280716 흠, 글쎄, 그럼 내가 할 수있는 아이디어가 없어, 어쩌면 그게 내가 수학과 관련이없는 이유 야. – Thomas

답변

1
  1. 합니다.
  2. celappFar을 변경하지 않으려면 & 참조를 제거하십시오.

int cel2far(int cel) 
{ 
    // convert cel to far and return approx. far 
} 

void calDiff(int cel, int appFar, int diff) 
{ 
    while(cel!= 101){ 
     diff = appFar - cel; 
     cout << diff << endl; 
     cel++; 
     appFar = cel2far(cel); 
    } 
} 
0

당신 따라서 차이가 매번 동일한 것 하나에 의해 각 루프를 섭씨 화씨 tempertures 모두 증가. 참조로 온도를 전달했다고해서 변경 한 경우 화씨를 다시 계산하지는 않습니다. 섭씨를 하나씩 늘리고 화씨를 다시 계산 한 다음 그 차이를 계산해야합니다.