2012-10-20 67 views
0

我有兩個問題。C++華氏溫度(反之亦然)循環問題

1.當我用小數轉換,它永遠是爲0

當我不使用它自帶了罰款小數。

我想去循環我的結果,這樣,如果我把我們說32(start_temp)華氏我可以增加它,直到我「結束溫度」(end_temp)&它也轉換增加,比方說42,如果從32增加10,然後將42華氏轉換爲攝氏。

我試着做一個for循環,但沒有運氣。

請幫忙?

int main() 
{ 
    int choice; 
    cout << "Please Select A Temperature Scale Conversion:\n"<< endl; 
    cout << "1. Convert F to C" << endl; 
    cout << "2. Convert C to F\n" << endl; 
    cout << "Your Choice: "; 
    cin >> choice; 

    cout << "Starting Temperature: "; 
    cin >> start_temp; 
    cout << "Ending Temperature: "; 
    cin >> end_temp; 
    cout << "Temperature Increase: "; 
    cin >> temp_incr; 

    if (choice == 1) { 
     cout << fixed << setprecision(2) << calcFahrenheit(start_temp) << endl; 
    } else if (choice == 2) { 
     cout << fixed << setprecision(2) << calcCelsius(start_temp) << endl; 
    } else { 
     cout << "You have entered an invalid option." << endl; 
    } 

    system("PAUSE"); 
    return 0; 
} 

float calcFahrenheit(float start_temp) { 
    float f2c; 
    f2c = (5.0/9.0) * (start_temp - 32.0); 
    return f2c; 
} 

float calcCelsius(float start_temp) { 
    float c2f; 
    c2f = (9.0/5.0) * (start_temp + 32.0); 
    return c2f; 
} 
+0

你的兩個公式混在一起,它應該是'(9.0/5.0 * start_temp)+ 32'。 – chris

+0

好的,謝謝你的更正。 – n0de

回答

1

你可以做到這一點作爲保持start_temp在C2F,然後用該值 重新計算C2F循環,直到end_temp內,增加C2F與temp_incr

for (c2f=start_temp ; c2f<=end_temp ; c2f+=temp_incr) 
{ 
    // Do your calculation 
} 

同樣的道理也適用於其他配方也

+0

好我會試試看,謝謝你的幫助! – n0de

+0

你也可以在遞歸的幫助下做到這一點。 – Omkant

相關問題