Код ниже предназначен для хранения группы слов в std::vector
и для подсчета количества раз, когда определенное слово, заданное пользователем, появляется в векторе, сравнивая его со всеми словами, хранящимися в вектор.Повторное использование std :: cin after EOF
Консоль не запрашивает меня для ввода на втором std::cin >>
в программе ниже.
#include <iostream>
#include <ios>
#include <iomanip>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc, const char * argv[])
{
cout<<"enter your words followed ny EOF"<<endl;
vector<string> words;
string x;
typedef vector<string>::size_type vec_size;
vec_size size;
while (cin>>x)
{
words.push_back(x);
}
size=words.size();
cin.clear();
//now compare
cout<<"enter your word:"<<endl;
string my_word;
int count=0;
cin>>my_word; //didn't get any prompt in the console for this 'cin'
for (vec_size i=0; i<size; ++i)
{
my_word==words[i]?(++count):(count=count);
}
cout<<"Your word appeared "<<count<<" times"<<endl;
return 0;
}
Конечный результат, который я получаю, это «Ваше слово появилось 0 раз». В чем проблема с кодом. Любая помощь будет большой.
как вы входите в EOF? –
контроль + d для mac osx. Не знаю, для окон – tez