哪个命令让我通过输入来输入我的新随机数?我试着写系统(“暂停”),但后来“按任意键继续”,我不喜欢。是否有可能只按一下输入按钮并一个接一个地查看数字?
这是程序代码:
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <ctime>
int main()
{
int i, k;
srand(time(0));
for (i = 0; i < 20; i++)
{
cout << (rand() % 8) << endl;
}
}
答案 0 :(得分:1)
#include <limits>
// ...
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
读取单个字符的优点是,这将确保没有任何杂散字符留在缓冲区中。
答案 1 :(得分:1)
这是一个稍微更现代的C ++:
#include <iostream>
#include <ctime>
#include <random>
int main()
{
std::mt19937 rng(std::time(0));
std::uniform_int_distribution<int> gen(0,7);
for (int i=0;i<20;i++)
{
std::cout << gen(rng);
std::string line;
std::getline(std::cin, line);
};
}
答案 2 :(得分:0)
您可以简单地使用getchar()
来读取一个按键,然后继续。如果您想特别打破输入键,请使用while (getchar() != "\n");
答案 3 :(得分:0)
在cin >> SomeVariableThatCouldAcceptAnythingInCaseYouPressSomethingElseBeforeTheEnterKey
之前或之后添加cout
,无论您喜欢哪个。
答案 4 :(得分:0)
读一个字符串吧?
#include <string>
....
for (i=0;i<20;i++)
{
std::string str;
cin >> str; // this should pause until the user presses enter
cout << (rand()%8) << endl;
};
答案 5 :(得分:0)
简单cin.get()
怎么样?不需要任何临时变量或任何C函数。