当前位置:C++技术网 > 精选软件 > C++ Primer Plus 6th 3.7 编程练习题 第3题 纬度的单位换算和显示

C++ Primer Plus 6th 3.7 编程练习题 第3题 纬度的单位换算和显示

更新时间:2019-02-21 10:42:40浏览次数:1+次

C++ Primer Plus编程练习题3.7 第3题  纬度的单位换算和显示

题目:
3.编写一个程序,要求用户以度、分、秒的方式输入一个纬度,然后以度为单位显示该纬度。1度为60分,1分等于60秒,请以符号常量的方式表示这些值。对于每个输入值,应使用一个独立的变量存储它。下面是该程序运行时的情况:
Enter a latitude in degrees,minutes,and seconds:
First, enter the degrees: 37
Next, enter the minutes of arc: 51
Finally, enter the seconds of arc: 19
37 degrees, 51 minutes, 19 seconds = 37.8553 degrees

答案:书上无答案。

C++技术网辅导详解解答:

    本题就是将三个单位的纬度转换为度为单位的纬度值。也是常规的单位换算问题。 

    下面是完整的代码: 

#include <iostream>
using namespace std;
int main()
{
    const int d = 60;//1度=60分
    const int m = 60;//1分=60秒
    double degrees, minutes, seconds;
    cout << "Enter a latitude in degrees, minutes, and seconds:\nFirst, enter the degrees :";
    cin >> degrees;
    cout << "Next, enter the minutes of arc :";
    cin >> minutes;
    cout << "Finally, enter the seconds of arc :";
    cin >> seconds;

    double de = degrees + minutes/ d + seconds/d/m;
    cout << degrees << " degrees, " << minutes << " minutes, " << seconds << " seconds = " << de << " degrees\n";

    return 0;
}