2012-02-09 8 views
0

코드가 그대로이므로 평균에 대한 계산에 감시 장치가 포함됩니다. 어떤 방법으로 포인터를 포함하지 않고 루프를 깰 수 있습니까?평균에 감시자를 추가하지 않고 어떻게 루프를 해독 할 수 있습니까?

#include <iostream> 
using namespace std; 
int main() 
{ 

int fahr=0,cent=0,count=0,fav=0; 

while (fahr!=-9999) 
{ 
    count ++;  
    cout<<"Input the fahrenheit temp to be converted to centigrade or enter -9999 "<<endl; 
    cin>>fahr; 
    cent=(float)(5./9.)*(fahr-32); 
    cout<<"The inputed fahr "<<fahr<<endl; 
    cout<<"The cent equivalent "<<cent<<endl; 



} 
fav=(float)(fav+fahr)/count; 
    cout<<"Average"<<fav<<endl; 
return 0; 

} 
+0

코드가 평균을 계산하지 않습니다. 'total + = fahr'와 같은 누산기가 필요합니다. 그럼 당신의 평균은'total/count'이어야합니다. 결과가'int'로 저장되어 있다면'float'으로 합을 캐스팅 할 필요가 없습니다. 당신은 어쨌든 정수 나누기와 같은 결과로 끝날 것입니다. – japreiss

답변

1

코드를 무한 루프로 실행하고 -9999가 표시되면 break를 사용하여 루프를 종료하십시오.

#include <iostream> 
using namespace std; 
int main() 
{ 

int fahr=0,cent=0,count=0,fav=0; 

while (true) 
{ 
    count ++;  
    cout<<"Input the fahrenheit temp to be converted to centigrade or enter -9999 "<<endl; 
    cin>>fahr; 

    if (fahr == -9999) 
     break; 

    cent=(float)(5./9.)*(fahr-32); 
    cout<<"The inputed fahr "<<fahr<<endl; 
    cout<<"The cent equivalent "<<cent<<endl; 
} 

fav=(float)(fav+fahr)/count; 
cout<<"Average"<<fav<<endl; 
return 0; 

} 
0

아마 당신은

cout<<"The cent equivalent "<<cent<<endl; 

추가 한 후 한 번 더 라인을 추가해야합니다

fav += cent; 

및 변경

fav=(float)(fav+fahr)/count; 

에 :

fav=(float)fav/count;