0

私には2つの問題があります。

1.小数を使用して変換すると、常に0として出力されます。

小数を使わないときはうまくいきます。

2.結果をループして、たとえば華氏32(start_temp)とすると、「終了温度」(end_temp)まで増分でき、増分を変換できるようにします。増分が10の場合は42としましょう。 32から、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;
}
4

1 に答える 1

1

start_tempをc2fに保持し、end_tempまでループ内でその値を使用してc2fを再度計算し、temp_incrを使用してc2fを増やすことで実行できます。

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

同じことが他の式にも当てはまります

于 2012-10-20T20:27:32.007 に答える