有人可以解释一下这个 c++ 代码有什么问题吗?
Can someone please explain what's wrong with this c++ code?
下面的程序是Walter J Savitch的Absolute C++的一个例子。我正试图运行这段代码,但遇到了错误,但我不知道为什么。这是一个用户定义函数的示例。函数round()
应该在对double
值进行四舍五入之后返回int
值
#include <iostream>
#include <cmath>
using namespace std;
int round (double number);
int main()
{
double doubleValue;
char ans;
do
{
cout << "Enter a double value: ";
cin >> doubleValue;
cout << "rounded that number is " << round(doubleValue) << endl;
cout << "Again?" << endl;
cin >> ans;
}while(ans == 'y' || ans == 'Y');
cout << "end of testing " << endl;
return 0;
}
int round(double number)
{
return static_cast<int>(floor(number + 0.5);
}
[1] :
https://i.stack.imgur.com/ABj8G.png这就是我犯的错误。
如果您的错误回合已经在另一个文件中定义,请使用新名称创建一个新回合,它应该可以使用
int my_round (double number);
int main()
{
// ...
cout << "rounded that number is " << my_round(doubleValue) << endl;
// ...
}
int my_round(double number)
{
return static_cast<int>(floor(number + 0.5));
}
一开始,我不知道你为什么要实现round()函数,因为有一个round(
其次,您错误地实现了round()函数。你需要这样的东西:
int round(double num)
{
return static_cast<int>(num+0.5);
}
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 在Linux for Windows上编译C++代码时出错
- 我的字符计数代码计算错误.为什么
- 孤立代码块在结构中引发异常
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 此代码是否违反一个定义规则
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 为什么在这个代码结束循环中没有得到结束
- 在c代码之间共享数据的最佳方式
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值