没有得到我的信件计数程序的任何输出

时间:2013-12-14 00:15:29

标签: c++

我正在开发一个计算文本中的字母的程序,我似乎无法让它工作。有人可以指出我做错了什么。

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string inputxt;
    cout << "enter txt:\n";
    getline(cin, inputxt);

    char charcheck[ ]={'a', 'b', 'c', 'd'};
    int charsize=sizeof(charcheck)/sizeof(char); 
    int count[charsize];
    cout << charsize;

    for (int i=0; i==inputxt.length(); i++){
        for(int a=0; a==charsize; a++){
            if (inputxt[i]==charcheck[a])
                ++count[a];
        }
    }

    for (int b=0; b==charsize; b++){
        cout << "number of " << charcheck[charsize] << ": " << count[charsize];
        cout << endl;
    }
    return 0;
}

请注意我没有输入所有字符来检查文本。感谢。

2 个答案:

答案 0 :(得分:2)

for (int i=0; i==inputxt.length(); i++){

for构造需要3个参数:

  • 初始化
  • 继续条件(并不像你那样终止条件)。将其读作while ...
  • 循环动作(又名后遗症)

换句话说,for (INIT; CONTINUATION; AFTERTHOUGHT) { BODY }直接翻译为:

INIT;
while (CONTINUATION) { BODY; AFTERTHOUGHT; }

反转你的中间情况,它应该是i!=inputxt.length()。这同样适用于每个其他for循环。

答案 1 :(得分:1)

for循环中,您使用==代替<。例如:

for (int i=0; i==inputxt.length(); i++)

应该是:

for (int i=0; i < inputxt.length(); i++)