首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的秒变量没有正确地存储

我的秒变量没有正确地存储
EN

Stack Overflow用户
提问于 2020-11-07 22:38:45
回答 1查看 63关注 0票数 1

正如标题说的那样,我的秒变量没有正确地存储,我也不知道为什么。我尝试在第8行的用户输入后插入cout语句,但由于某种原因它没有存储,比如输出将是-1.75474e+4。

代码语言:javascript
复制
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;

double readSeconds()
{
    double seconds;
    cout << "Enter the time (in seconds)" << endl;
    cin >> seconds;

    //value less than zero
    while (seconds < 0) {
        cout << "The time must be zero or more" << endl;
        cout << "Enter the time (in seconds)" << endl;
        cin >> seconds;
    }
    return seconds;
}
double calculateEarthDistance(double seconds)
{
    const double gravityEarth = 9.8;
    double earthDistance = 0.5 * gravityEarth * pow(seconds, 2);
    return earthDistance;
}
double calculateMoonDistance(double seconds)
{
    const double gravityMoon = 1.6;
    double moonDistance = 0.5 * gravityMoon * pow(seconds, 2);
    return moonDistance;
}

//The displayResults function MUST NOT call readSeconds, calculateEarthDistance, or calculateMoonDistance.
void displayResults(double seconds, double earthDistance, double moonDistance)
{

    cout << "The object traveled " << fixed << setprecision(4) << earthDistance << fixed << setprecision(2) << " meters in " << seconds << " on Earth." << endl;
    cout << "The object traveled " << fixed << setprecision(4) << moonDistance << fixed << setprecision(2) << " meters in " << seconds << " on Moon." << endl;
}

int main()
{
    if (1) { //when true
        double seconds;
        seconds == readSeconds();
        cout << seconds;
        if (seconds == 0) {
            exit(0);
        }
        double earthDistance = calculateEarthDistance(seconds);
        double moonDistance = calculateMoonDistance(seconds);
        displayResults(seconds, earthDistance, moonDistance);
    }

} //end program
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-07 22:41:31

您使用的是等效运算符(==),而不是赋值运算符(=)

代码语言:javascript
复制
seconds == readSeconds(); // bad
seconds = readSeconds();  // good
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64733105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档