首页 > 解决方案 > fmod() 在我的简单 C++ 银行程序中返回相同的值

问题描述

我决定第 1 次尝试再次学习编码,我目前正在尝试通过创建一个用户可以提取和存钱的银行程序来刷新我的记忆。我正在尝试创建一个函数来检查用户输入是否是一个超出美分值的数字,如果是,则提示他们重新输入。不幸的是,当我运行程序时,它总是会告诉我有一个无效条目。

#include <iostream>
#include <cmath>

using namespace std;

// The following is the function spoken of.
double yagoof(double c) {
    double cent = .01;
    double rem = fmod(c, cent);
    cout << rem << endl;

    while (rem != 0) {
        cout << "Invalid entry. Please enter a number rounded to the nearest cent.\n\n";
        cin >> c;
        rem = fmod(c, cent);
        cout << rem << endl;
    }
    return c;
}

int main(){
...
}

在感到沮丧并想看看我是否能解决问题之后,我添加了“cout << rem ...”。它总是告诉我 rem 是'.01'。

我想我很好奇我在这里做错了什么。我已经在脑海中回顾了几次,但我没有得到任何结果。

如果需要,我可以发布整个代码,我只是现在没有这样做,因为它有一堆注释。

标签: c++

解决方案


推荐阅读