2016-10-30 115 views
0

請看下面的代碼,讓我知道我沒有看到什麼。我已經嘗試了幾乎所有的東西,以使其工作,但還沒有。For loop with different inputs

在此先感謝您的時間和幫助。

for (double c = c1; c <= c2; c = c + i) 
{ 
    cout << "Enter the lowest temperature: " << endl; 
    cin >> c1; 
    cout << "Enter the highest temperature: " << endl; 
    cin >> c2; 
    cout << "Enter the desired increment in temperature: " << endl; 
    cin >> i; 

    f = ((9/5) * c) + 32; 

    cout << "When C is " << c << " degrees Celsius, the temperature in Fahrenheit will be: " << f << " degrees." << endl; 

    cin.get(); 
} 
return 0; 

}

+0

你會得到什麼錯誤?這是'c1','c2','i'的類型? – Jarod42

+0

我得到這個錯誤的C1和C2錯誤C4700:未初始化的局部變量'C1' – dannyelloko20

+0

爲什麼你問循環的參數不是循環之前,而不是循環內? – Jarod42

回答

2

你把代碼中的錯誤部分的輸入。

c1c2可能從未在循環之前分配過,並且您的代碼中反映的邏輯似乎不符合您的意圖,因爲它每次都會更改循環限制。

此外,請注意使用9.0而不是9得到double結果,而不是一個整數。

查看完整示例https://ideone.com/Uj974z

int main() { 

    double c1, c2, i, f; 

    cout << "Enter the lowest temperature: " << endl; 
    cin >> c1; 
    cout << "Enter the highest temperature: " << endl; 
    cin >> c2; 
    cout << "Enter the desired increment in temperature: " << endl; 
    cin >> i; 

    for (double c = c1; c <= c2; c = c + i) 
    { 
     f = ((9.0/5) * c) + 32; 
     cout << "When C is " << c << " degrees Celsius, the temperature in Fahrenheit will be: " << f << " degrees." << endl; 
    } 

    return 0; 
} 
+0

你是對的!我沒有這樣看。謝謝您的幫助。 – dannyelloko20

+0

對不起,但我是新來的,所以我不知道該怎麼做...... – dannyelloko20

0

問題是,9/5返回1.你應該寫9.0/5。