淡泊名利韬韬 2023-03-13 11:10 采纳率: 100%
浏览 14
已结题

ubuntu系统下C++变量定义问题

在C++ primer plus计算经纬度的练习题中,

img


我使用一下代码进行计算

#include <iostream>

int main(){
    using namespace std;
    cout << "Enter a latitude in degrees, minutes and seconds\n";
    int degree;
    cout << "enter a degree:";
    cin >> degree;
    int minutes;
    cout << "enter a minutes:";
    cin >> minutes;
    int seconds;
    cout << "enter a seconds:";
    cin >> seconds;
    // const int trans = 60;
    double degree_print = degree + minutes/60  + seconds/3600;
    cout << degree << " degrees " << minutes << " minutes " << seconds << " seconds " << "= " << degree_print << endl;
    return 0;
}


但最终的计算结果并不正确,而是和我定义的degree保持一致,请问如何处理?感谢。

Enter a latitude in degrees, minutes and seconds
enter a degree:23
enter a minutes:23
enter a seconds:23
23 degrees 23 minutes 23 seconds =23
[1] + Done                       "/usr/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-340vt1ac.hjh" 1>"/tmp/Microsoft-MIEngine-Out-o5posge2.ttl"
  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2023-03-13 11:14
    关注

    double degree_print = degree + minutes/60.0 + seconds/3600.0;
    由于minutes和seconds都是int类型,两个整数相除是整除,所以要改为60.0和3600.0,否则后面两个除法结果都是0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 修改了问题 3月13日
  • 创建了问题 3月13日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效