C ++ Fahrenheit To Celsius(反之亦然)循环问题

时间:2012-10-20 20:17:09

标签: c++ function loops

我有两个问题。

1.当我使用小数转换时,它总是为0。

当我不使用小数时,它会很好。

2.我想循环我的结果,所以如果我把它说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;
}

1 个答案:

答案 0 :(得分:1)

你可以在c2f中保持start_temp,然后再用该值计算c2f 在循环内部直到end_temp并使用temp_incr

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

同样的事情也适用于其他公式