当前位置:C++技术网 > 精选软件 > C++ Primer Plus 6th 2.7 编程练习题 第5题 温度单位的转换

C++ Primer Plus 6th 2.7 编程练习题 第5题 温度单位的转换

更新时间:2019-02-15 11:26:04浏览次数:1+次

C++ Primer Plus编程练习题2.7第五题  温度单位的转换


题目:
5.编写一个程序,其中的main()调用一个用户定义的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。该程序按下面的格式要求用户输入设置温度值,并显示结果:
Please enter a Celsius value: 20
20 degrees Celsius is 68 degrees Fahrenheit.
下面是转换公式:
华氏温度 = 1.8 X 摄氏温度 + 32.0

答案:书上无答案。

C++技术网辅导详解解答:
    此题虽然也是单位换算,不过相对要高级点,因为题目要求将单位换算包装为一个函数。这也是开发中经常做的事情,将经常需要使用的计算包装为一个函数,我们可以反复的调用,而不需要写相同的代码。
    单位换算的公式题目已经给了。题目说的输入是摄氏(Celsius)温度,℃的C就是这个单词,这个可能让不熟悉英文单词的人有点懵,不过可以查词典嘛。而华氏(Fahrenheit)温度是我们平时没有用到的,可能有点陌生。我们不需要担心这个问题,只要给公式,对于程序来讲,只是一个数据的单位的转换而已。
    这个和前面两题的单位换算是一样的道理。我们这里需要将前面做转换的计算代码提取到函数里就可以了。不过需要注意的是,这里是有小数的,我们需要用float或double来存储了,不能用int存了哈。
    完整代码如下:

#include <iostream>
using namespace std;

float ctof(float c)
{
    float f;
    f = 1.8 * c + 32.0 ;
    return f;
}

int main()
{
    float c;
    cout << "Please enter a Celsius value: ";
    cin >> c;
    float f = ctof(c);
    cout << c<<" degrees Celsius is "<<f<<" degrees Fahrenheit." <<endl;
    return 0;
}