这里非常多的菜鸟,所以最好假设我对任何答案一无所知.
我一直在写一个小应用程序,它运行良好,但可读性是我的数字的噩梦.
基本上,我想要做的就是在屏幕上显示的数字中添加逗号,以便于阅读.有没有快速简便的方法来做到这一点?
我一直在使用stringstream来获取我的数字(我不知道为什么在这一点上甚至建议这个,在我完成的教程中只是建议),例如(裁剪出无关紧要的位):
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int items;
string stringcheck;
...
cout << "Enter how many items you have: ";
getline (cin, stringcheck);
stringstream(stringcheck) >> items;
...
cout << "\nYou have " << items << " items.\n";
Run Code Online (Sandbox Code Playgroud)
当这个数字被打成大的东西时,其他一切都变得非常令人头疼.
是否有任何快速简便的方法使其打印"13,653,456"而不是"13653456"就像现在一样(假设当然是输入的内容)?
注意:如果重要,我将其作为Microsoft Visual C++ 2008 Express Edition中的控制台应用程序.
我对发生了什么感到困惑,我正在使用"Accelerated C++"中的一些程序,并且遇到了一个早期程序的问题(第35页,如果你碰巧附近有一个副本).
它使用此代码段:
while (cin >> x) {
++count;
sum += x;
}
Run Code Online (Sandbox Code Playgroud)
("count"是一个整数,"x"是一个整数)
它按预期工作,允许我输入几个值并将它们加在一起,但我无法弄清楚"文件结束"信号出现了什么问题.书中说循环将继续运行,直到程序遇到文件结束信号,即Windows中的ctrl + z.
这一切都很好,并且有效,但是我的程序不会让我再次使用cin.我通常只是设置一个程序来等待一些随机变量,以便在执行后立即停止控制台关闭(顺便说一句,还有更好的方法吗?)这就是我注意到这一点,我想知道如果有解决方案.我已经做了很多搜索,但发现很少没有说出书中已经说过的内容(按ctrl + z,或输入不兼容的输入类型等)
我正在使用Visual Studio 2008 express进行编译.
最有可能是一个非常简单的问题,请保持任何答案易于理解我仍然很新:
我正在做一个小应用程序,我需要使用权力进行一些计算.经过一番研究后,我发现了战斗机功能,并且发挥了作用.最后我想出了这个剪辑,它有效:
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
float dummy2, test(6.65);
dummy2 = (float) pow((float) 3.57, test);
cout << dummy2;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它返回正确的答案(4734.17),但只返回两位小数.我想要5位小数.
我在这做错了什么?我使用了错误的数据类型(浮动)吗?或者仅仅使用2dp是pow功能中的任何限制?
我可以,如果它只是用我想要的值定义常量,因为它只需要4或5个总和,我需要这个精度,但如果有可能让程序计算它会很好.
谢谢