我是 C++ 新手,编程背景绝对为零,仅供参考。
我有一个作业要编写一个程序,其中输入的双精度数将仅返回小数点右侧的数字。
例如。 - 代码...输入数值 (10.27)...然后更多代码...然后显示 .27。
我在网上找到了一些例子,并在Visual Studios中编写了以下内容:
`#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << "Enter a positve decimal number with 2 decimal places \n" << endl;
cin >> double a >> endl;
cout << (a - floor(a)) << endl;
return 0;
}`
行
cin >> double a >> endl;
给了我红色的波浪线并告诉我要放一个“;”双倍之后,所以cin >> double; a >> endl;
。 然而,这并不能消除红色的波浪线。
请记住,我理解我编写的上述代码的一小部分:)
使用前需要声明
double a;
。 cin >> double a >> endl;
是错误的,因为你不能在 cin
中声明变量。要使用 floor
,您需要包含 cmath
库。我提供更新的代码。
#include <iostream>
#include <iomanip>
#include <cmath> // Include cmath to use floor
using namespace std;
int main() {
cout << "Enter a positive decimal number with 2 decimal places: \n" << endl;
double a; // Declar variable a before cin
cin >> a;
cout << (a - floor(a)) << endl;
return 0;
}