c++ - 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'。
我想我很好奇我在这里做错了什么。我已经在脑海中回顾了几次,但我没有得到任何结果。
如果需要,我可以发布整个代码,我只是现在没有这样做,因为它有一堆注释。
解决方案
推荐阅读
- python - 尝试安装 discord.py 时出错 - “无法为使用 PEP 517 且无法直接安装的 multidict、yarl 构建轮子”
- javascript - 如何从 React 中的不同类访问状态值?
- delphi - 如何在 Delphi 中刷新 TDBGrid 以显示新记录?
- docker - 如何将 pod/容器创建时间戳标签添加到 kubernetes docker 容器标签?
- android - 检查 NavDestination 是否代表 DialogFragment
- sql - SQL 查询根据类型获取 SQL Server 数据库中的系统函数计数
- kubernetes - Minikube 中的存储空间是如何分配的?
- pdf - Wireshark - pdf 源到实际 pdf
- r - 如何在R中将多列绘制成条形图
- flutter - 与 ma 发送邮件