C++ 计算单词中的字母

C++ 计算单词中的字母,c++,C++,我在如何开始创建程序时遇到了问题,该程序在.txt文件中计算单词中的字母,如果字母数大于20,则打印该程序。。有人知道如何启动或有类似的程序来帮助我吗谢谢你一般来说,我通过以下方式启动程序: #include <iostream> void Pause(); int main() { std::cout << "My program\n"; Pause(); return 0; } void Pause() { std::cout &l

我在如何开始创建程序时遇到了问题,该程序在.txt文件中计算单词中的字母,如果字母数大于20,则打印该程序。。有人知道如何启动或有类似的程序来帮助我吗谢谢你一般来说,我通过以下方式启动程序:

#include <iostream>

void Pause();

int main()
{
    std::cout << "My program\n";

    Pause();
    return 0;
}

void Pause()
{
  std::cout << "\n\nPaused. Press ENTER to continue.\n";
  std::cin.ignore(100000, '\n');
}
上面的循环将统计文本文件中出现的所有字母。下一个任务是打印数据:

for (int i = ' ' + 1; i < 127; ++i)
{
    std::cout << "'" << ((char) i) << "': " << counts[i] << \n;
}
上面的循环构建了一个[word,count]对数据库。如果单词存在,则计数将递增


下一部分是遍历数据库,只打印长度大于20的单词。这是留给读者的练习

与数字20不同,您需要的是可打印的字母,而不是空格。参见函数。这是一个非常开放的问题。你尝试了什么,遇到了什么问题?另外,我不知道“字母数大于20”是什么意思。我只需要计算单词中的字母,如果单词的字母数大于20,那么就在out.txt文件中打印该单词…我还没有开始,因为我不知道如何开始…您知道哪些数据类型/数据结构可以容纳多个字符?您知道哪些文本输入/输出函数/运算符?
for (int i = ' ' + 1; i < 127; ++i)
{
    std::cout << "'" << ((char) i) << "': " << counts[i] << \n;
}
  std::string word;
  std::map<std::string, int> database;
  while (my_file >> word)
  {
     std::map<std::string, int>::iterator iter;
     iter = database.find(word);
     if (iter != database.end())
     {
         map[word]++;
     }
     else
     {
         map[word] = 1;
     }
  }