关于c++中的CTRL+Z的问题(附上代码)
#include<iostream>#include<cstdlib>#include<map>#include<string>usingnamespacestd;int...
#include <iostream>
#include <cstdlib>
#include <map>
#include <string>
using namespace std;
int main()
{
map< string,int > word_count;
map< string,int >::iterator m_iter;
string word;
string find_word;
int occurs = 0;
cout<<"please input a word and press (Ctrl+Z) to end"<<endl;
while(cin>>word)
{
pair< map<string,int>::iterator, bool > ret =
word_count.insert( make_pair( word,1 ));
if(!ret.second)
{
++ret.first->second;
}
}
for(m_iter = word_count.begin(); m_iter != word_count.end(); ++m_iter)
{
cout<<m_iter->first<<" occurs "<<m_iter->second<<" times "<<endl;
}
cout<<"please input the word you want to find: ";
cin>>find_word;
map< string,int >::iterator it= word_count.find(find_word);
if( it != word_count.end() )
occurs = it->second;
cout<<"the word ‘" <<find_word
<< "’has occurs "<<occurs<<" times "<<endl;
system("pause");
return 0;
}
这个是今天实验的时候遇到的问题,如下
这是一个统计单词输入个数的程序,在while部分,进行单词输入,
然后结束输入使用的方法是"ctrl+z",但是这样造成了一个问题。
就是现在的搜索部分,被直接跳过。
在网上找了一些资料,说是"ctrl+z"是结束目前窗口的输入流。
这样的话,那么有没有类似的方法可以停止while的循环,然后又不用去
停止整个窗口的输入流呢?
请各位老手指点一下,谢谢!
注:使用的IDE是 DEV C++; 展开
#include <cstdlib>
#include <map>
#include <string>
using namespace std;
int main()
{
map< string,int > word_count;
map< string,int >::iterator m_iter;
string word;
string find_word;
int occurs = 0;
cout<<"please input a word and press (Ctrl+Z) to end"<<endl;
while(cin>>word)
{
pair< map<string,int>::iterator, bool > ret =
word_count.insert( make_pair( word,1 ));
if(!ret.second)
{
++ret.first->second;
}
}
for(m_iter = word_count.begin(); m_iter != word_count.end(); ++m_iter)
{
cout<<m_iter->first<<" occurs "<<m_iter->second<<" times "<<endl;
}
cout<<"please input the word you want to find: ";
cin>>find_word;
map< string,int >::iterator it= word_count.find(find_word);
if( it != word_count.end() )
occurs = it->second;
cout<<"the word ‘" <<find_word
<< "’has occurs "<<occurs<<" times "<<endl;
system("pause");
return 0;
}
这个是今天实验的时候遇到的问题,如下
这是一个统计单词输入个数的程序,在while部分,进行单词输入,
然后结束输入使用的方法是"ctrl+z",但是这样造成了一个问题。
就是现在的搜索部分,被直接跳过。
在网上找了一些资料,说是"ctrl+z"是结束目前窗口的输入流。
这样的话,那么有没有类似的方法可以停止while的循环,然后又不用去
停止整个窗口的输入流呢?
请各位老手指点一下,谢谢!
注:使用的IDE是 DEV C++; 展开
2个回答
展开全部
你可以输入一个不是英文字母的字符作为结束标志,也可以事先要求用户输入字符串的长度。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询