我正在尝试使用c ++随机显示用户输入的字符串,但是我找不到解决方法。 目前,我正在预定义一些字符串
#include<iostream>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
srand(time(0));
const string wordlist[4] = {"hi","hello","what's up","wassup"};
string word = wordlist [rand()%4];
cout<<word;
return 0;
}
我想要的是:-我不想预先定义它们。我希望用户键入4个单词,然后我将随机显示用户给出的4个单词中的一个单词。
答案 0 :(得分:0)
为此,您必须首先从const
数组中删除wordlist
限定词。
srand(time(0));
std::vector<string> wordlist(4);
for(auto& s: wordlist) std::cin>>s;
string word = wordlist [rand()%4];
cout<<word;
第3行是C ++ 11的for循环范围,因此我可以轻松地遍历std::vector<string>
的元素而无需索引。
如果字符串中包含多个单词,则相应地使用getline(cin,s)
。然后在新行中输入每个字符串。但是在混合使用cin
和getline
进行输入时要careful。
std::array
。